00899BD0 /$ 57 PUSH EDI ; ; Put EDI on the stack 00899BD1 |. 8B7C24 08 MOV EDI,DWORD PTR SS:[ESP+8] ; ; EDI = value on stack 00899BD5 |. 57 PUSH EDI ; /lstrlenA arg EDI 00899BD6 |. FF15 3CB19100 CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] ; \lstrlenA 00899BDC |. 85C0 TEST EAX,EAX 00899BDE |. 0F84 83000000 JE sro_clie.00899C67 ; ; checks if EAX == 0? 00899BE4 |. 8BCF MOV ECX,EDI ; ecx == edi 00899BE6 |. 53 PUSH EBX 00899BE7 |. 81E1 FF000000 AND ECX,0FF ; EBX & 0xFF == 7C; but why! 00899BED |. 56 PUSH ESI ; ntdll.RtlGetLastWin32Error 00899BEE |. 880D 197BC600 MOV BYTE PTR DS:[C67B19],CL ; CL seems to always have 7C the out come from & 0xFF? 00899BF4 |. C605 187BC600 >MOV BYTE PTR DS:[C67B18],1 ; puts 0x01 in front of 0x7C 00899BFB |. 8D5449 65 LEA EDX,DWORD PTR DS:[ECX+ECX*2+65] ; 7C + 7C * 2 + 65 == 1D9? 00899BFF |. 8D4C49 01 LEA ECX,DWORD PTR DS:[ECX+ECX*2+1] ; 1D9 + 1D9 * 2 + 1 == 58C? 00899C03 |. 895424 10 MOV DWORD PTR SS:[ESP+10],EDX ; arg 00899C07 |. BE 04000000 MOV ESI,4 ; esi == 0x04 00899C0C |. 8D0C49 LEA ECX,DWORD PTR DS:[ECX+ECX*2] ; 45F? 00899C0F |. 8D51 65 LEA EDX,DWORD PTR DS:[ECX+65] ; 4C4? 00899C12 |. 41 INC ECX ; ++ 00899C13 |. 85C0 TEST EAX,EAX 00899C15 |. 7E 25 JLE SHORT sro_clie.00899C3C 00899C17 |. 55 PUSH EBP 00899C18 |. 81EF 1C7BC600 SUB EDI,sro_clie.00C67B1C 00899C1E |. 8BE8 MOV EBP,EAX 00899C20 |> 8A9C37 187BC60>/MOV BL,BYTE PTR DS:[EDI+ESI+C67B18] 00899C27 |. 8D0C49 |LEA ECX,DWORD PTR DS:[ECX+ECX*2] 00899C2A |. 8AC1 |MOV AL,CL 00899C2C |. 04 65 |ADD AL,65 00899C2E |. 32D8 |XOR BL,AL 00899C30 |. 889E 187BC600 |MOV BYTE PTR DS:[ESI+C67B18],BL 00899C36 |. 46 |INC ESI 00899C37 |. 41 |INC ECX 00899C38 |. 4D |DEC EBP 00899C39 |.^75 E5 \JNZ SHORT sro_clie.00899C20 00899C3B |. 5D POP EBP 00899C3C |> 8A5C24 10 MOV BL,BYTE PTR SS:[ESP+10] 00899C40 |. 8D4E FC LEA ECX,DWORD PTR DS:[ESI-4] 00899C43 |. 8BC1 MOV EAX,ECX 00899C45 |. C686 187BC600 >MOV BYTE PTR DS:[ESI+C67B18],0 00899C4C |. C1F8 08 SAR EAX,8 00899C4F |. 32C3 XOR AL,BL 00899C51 |. 32D1 XOR DL,CL 00899C53 |. 5E POP ESI 00899C54 |. A2 1A7BC600 MOV BYTE PTR DS:[C67B1A],AL 00899C59 |. 5B POP EBX 00899C5A |. 8815 1B7BC600 MOV BYTE PTR DS:[C67B1B],DL 00899C60 |. B8 187BC600 MOV EAX,sro_clie.00C67B18 00899C65 |. 5F POP EDI 00899C66 |. C3 RETN 00899C67 |> B8 187BC600 MOV EAX,sro_clie.00C67B18 00899C6C |. 5F POP EDI 00899C6D \. C3 RETN