Function at 0x40a550
Capabilities:
Receive data
Receive data on socket

Disassembly:
adc byte [eax], al
cmp dword [edx], eax
add dword [eax], eax
add byte [ebp + 0x39], dh
mov eax, 0x11194
pop esi
ret 0x10
push ebp
mov esi, dword [edi - 0x74efb275]
inc ebp
cmp byte [ebp + 0x1c7456c9], al
lea esi, [eax + ecx - 1]
cmp eax, esi
jae 0x40a577
mov edx, dword [ebp - 0x15]
mov dh, byte [edx + 0x888c9d4]
jb 0x40a57a
inc eax
inc edx
cmp ebp, edi
jb 0x40a51c
mov byte [eax], 0
pop esi
pop ebp
lodsd eax, dword [esi]
push esi
add byte [eax + 0x53918b2b], dl
mov ebx, dword [sym.imp.WS2_32.dll_WSARecv]
nop
mov edx, dword [ecx - 0x6be274ad]
rol dword [eax], 0x90
push edi
mov edi, dword [ebp + 8]
push esi
das
push edi
call ebx
push 0xffffffffffffffa2
push edi
mov esi, eax
call ebx
add esp, 0x10
cmp eax, esi
inc esp
add al, byte [ebp + 0x759b85ec]
push cs
dec eax
jbe 0x40a597
mov dword [0x58e58bd3], eax
les ecx, [eax]
test esi, esi
je 0x40a581
lea eax, [esi + 1]
mov bl, 0x5e
pop ebx
pop ebp
sub dword [eax + eax], eax
mov eax, edi
or ebx, dword [esi + 0x5b]
in eax, 0xc2
add al, 0
nop
nop
nop
nop
pop edx
nop
nop
mov ebp, esp
sub esp, 0x4a
push ebx
mov ebx, dword [ebp + 0x10]
test ebx, ebx
push edi
mov dword [ebp - 4], 0x9e000000
jge 0x40a5f9
mov eax, dword [ebp - 0x70]
xor edi, edi
cmp dword [eax], 0
je 0x40a5f9
mov ecx, dword [eax + ebx*4 + 4]
inc ebx
test ecx, ecx
cmpsd dword [esi], dword es:[edi]
test al, 0x8d
adc eax, 0x90466
lea edx, [0x90466]
add byte [esi - 0x4b], dl
call dword [0xdb40c15c]
or dword [ebx], 4
mov edi, eax
test dword [ebp + 0x2c], ebp
or dh, ah
jle 0x40a64a
mov eax, dword [ebp + 0xc]
mov esi, edi
sub eax, edi
pop esp
pop ebp
out dx, eax
mov dword [ebp + 0x40], eax
jmp 0x40a626
mov ecx, dword [eax + esi]
push ecx
or al, 0x15
or al, 0xc1
inc eax
add byte [ebx - 0x76bffb3c], al
push es
xchg byte [0xc1d003fc], ah
inc ebp
clc
add esi, 4
dec eax
mov dword [esi], ebx
cld
push esp
inc ebp
clc
add dword [edx - 0x75], ecx
inc ebp
cld
mov eax, dword [ebp - 4]
lea eax, [eax + eax*2 + 1]
cmp al, 0x89
inc ebp
cld
mov al, 0x15
pop esp
rol dword [eax], 0x83
les eax, [ebx + esi]
leave
fstp st(3)
mov dword [ebp - 8], eax
mov esi, eax
jle 0x40a6bd
mov bh, 0x45
or al, 0x8b
dec ebp
cmp ch, byte [ebx]
ror dword [ebx + 0x4589fc4d], 0x3b
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x18], ebx
jmp 0x40a6fa
mov dword [edi + ecx*4], 0
mov byte [esi], 0xb
sub esi, eax
loop 0x40a721
push eax
push ss
adc eax, 0x402220
mov ecx, dword [ebp - 8]
xor dword [0x5ec13b08], 0x74
xor dword [ebx], ebp
ror dword [ebx - 0x7a3fcc38], 1
fstp xword [esi - 0x62]
mov edx, dword [esi + esi*8]
add ebp, dword [eax]
mov dword [edi + eax*4], edx
adc al, 0x87
xchg dword [ebx], edi
jle 0x40a76f
pop edx
dec ebp
or byte [ebx - 0x19c6763d], cl
cmp esi, esp
pop ebx
mov eax, dword [ecx + 0x558bc35d]
or byte [ebx + 0x5f3a89c3], cl
pop ebx
mov esp, ebp
pop ebp
cmc
mov eax, dword [ebp + 0x2f]
mov dword [eax], edi
mov eax, ebx
dec edx
jnp 0x40a6ed
in eax, 0x5d
ret
mov ebp, esp
mov eax, dword [0x4108dc]
inc ecx
test eax, eax
push edi
jne 0x45415e1b
cmp edi, eax
pop es
inc ecx
add bh, al
add cl, cl
xchg esi, eax
inc ecx
add byte [eax + eax + 0x15ff0000], dl
and al, al
inc eax
add byte [ecx + 0x410808], ah
cmp eax, 2
jne 0x7c40a88d
mov al, byte [0x7d41910c]
mov esi, 0xa941830c
xor al, 0xc0
je 0x40a79e
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
mov eax, dword [0xc4c174]
cmp dword [eax], 1
cmp byte [ecx], al
out 0xe, al
mov bl, byte [edx + ebp*2 + 0x510e8a04]
call edi
add esp, 0xffffffd9
jmp 0x40a792
test eax, eax
jne 0x40a7cc
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40a769
mov ecx, dword [0x384108e0]
mov eax, dword [0x416ffc]
cmp eax, 3
cmovp eax, dword [0xf000001]
test byte [ebx - 0x7cffff76], dh
clc
add al, 0x75
cmp ecx, 2
dec eax
and edi, dword [eax + 0x7526]
jmp 0xee40a916
cmp byte [esi], 0
mov esi, 0x15ff56cd
insb byte es:[edi], dx
mov word [eax], es
dec eax
add byte [ebx + 0xd8904c4], al
add cl, byte [eax]
inc ecx
add bl, ch
mov edi, 0x2a130a05
add byte [eax], al
ljmp 0x8300