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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc14
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0041279d
mov ebx, eax
test ebx, ebx
jne 0x52664c
xor eax, eax
jmp 0x5269c5
cmp dword [ebx + 0x41c], 0
jne 0x52665c
xor eax, eax
jmp 0x5269c5
cmp si, 2
jne 0x52667c
cmp dword [ebx + 0x904], 0
je 0x526675
push ebx
push 0
push 0
call fcn.00525f63
xor eax, eax
jmp 0x5269c5
push 2
call fcn.00412c1c
mov eax, esi
shr eax, 0x10
and ax, 0xffff
test ax, ax
je 0x52669b
movzx edx, ax
mov esi, edx
jmp 0x526782
call fcn.004128fc
test eax, eax
je 0x5266b5
mov dword [ebx + 0x910], 1
xor eax, eax
jmp 0x5269c5
push 1
push 1
push dword [ebx + 4]
push 0x800e
call fcn.00526a8c
test eax, eax
je 0x5266e1
xor edx, edx
mov dword [ebx + 0x910], edx
xor ecx, ecx
mov dword [ebx + 0x90c], ecx
xor eax, eax
jmp 0x5269c5
xor edx, edx
mov dword [ebx + 0x910], edx
mov dword [ebx + 0x90c], 1
inc dword [ebx + 0x918]
cmp dword [ebx + 0x918], 0x14
jl 0x526736
xor ecx, ecx
mov dword [ebx + 0x918], ecx
push 0
push 1
push dword [ebx + 4]
push 0x800e
call fcn.00526a8c
test eax, eax
je 0x526736
xor eax, eax
mov dword [ebx + 0x910], eax
xor edx, edx
mov dword [ebx + 0x90c], edx
xor eax, eax
jmp 0x5269c5
push 0
push 0x3e6
lea edx, [ebp - 0x3ec]
push edx
push dword [ebx + 4]
call sub.WSOCK32.dll_recv
mov edi, eax
cmp edi, 0xffffffff
jne 0x5267d9
xor eax, eax
mov dword [ebx + 0x90c], eax
cmp dword [ebx + 0x1da8], 0
jne 0x526975
call sub.WSOCK32.dll_WSAGetLastError
mov esi, eax
cmp esi, 0x2733
jne 0x526782
xor eax, eax
jmp 0x5269c5
test esi, esi
je 0x526975
cmp dword [ebx + 0x41c], 0
je 0x526975
push esi
call fcn.005269d0
push eax
push str.__s
push 0x5836b2
call sub.USER32.dll_wsprintfA
add esp, 0xc
xor edx, edx
mov dword [0x56ac00], edx
mov dword [0x56ac10], 1
push dword [0x55f8a0]
push 0x5836b2
push dword [ebx]
call fcn.004ef100
jmp 0x526975
test edi, edi
jle 0x526975
mov byte [ebp + edi - 0x3ec], 0
xor ecx, ecx
mov dword [ebp - 4], ecx
lea esi, [ebp - 0x3ec]
cmp edi, dword [ebp - 4]
jle 0x5266f3
mov al, byte [esi]
cmp al, 0xd
je 0x526963
cmp al, 0xa
jne 0x5268ab
cmp dword [ebx + 0x900], 0
je 0x526843
xor edx, edx
mov dword [ebx + 0x900], edx
push 0x3e7
push 0
lea ecx, [ebx + 0x514]
push ecx
call fcn.0054c150
add esp, 0xc
xor eax, eax
mov dword [ebx + 0x8fc], eax
jmp 0x526963
mov edx, dword [ebx + 0x8fc]
mov byte [ebx + edx + 0x514], 0
xor ecx, ecx
mov dword [ebx + 0x8fc], ecx
cmp byte [ebx + 0x514], 0
je 0x526890
push ebx
lea eax, [ebx + 0x514]
push eax
call fcn.004bc546
push ebx
call fcn.00412773
test eax, eax
jne 0x526880
xor eax, eax
jmp 0x5269c5
cmp dword [ebx + 0x41c], 0
jne 0x526890
xor eax, eax
jmp 0x5269c5
push 0x3e7
push 0
lea edx, [ebx + 0x514]
push edx
call fcn.0054c150
add esp, 0xc
jmp 0x526963
mov ecx, dword [ebx + 0x8fc]
mov al, byte [esi]
mov byte [ebx + ecx + 0x514], al
inc dword [ebx + 0x8fc]
cmp dword [ebx + 0x8fc], 0x258
jle 0x526963
cmp dword [ebx + 0x900], 0
je 0x5268f9
xor edx, edx
mov dword [ebx + 0x8fc], edx
push 0x3e7
push 0
lea ecx, [ebx + 0x514]
push ecx
call fcn.0054c150
add esp, 0xc
jmp 0x526963
mov dword [ebx + 0x900], 1
mov eax, dword [ebx + 0x8fc]
mov byte [ebx + eax + 0x514], 0
xor edx, edx
mov dword [ebx + 0x8fc], edx
cmp byte [ebx + 0x514], 0
je 0x52694d
push ebx
lea ecx, [ebx + 0x514]
push ecx
call fcn.004bc546
push ebx
call fcn.00412773
test eax, eax
jne 0x526940
xor eax, eax
jmp 0x5269c5
cmp dword [ebx + 0x41c], 0
jne 0x52694d
xor eax, eax
jmp 0x5269c5
push 0x3e7
push 0
lea edx, [ebx + 0x514]
push edx
call fcn.0054c150
add esp, 0xc
inc dword [ebp - 4]
inc esi
cmp edi, dword [ebp - 4]
jg 0x5267fd
jmp 0x5266f3
cmp dword [ebx + 0x41c], 0
je 0x5269af
push dword [0x55f89c]
push dword [ebx]
call fcn.004ee341
mov dword [0x56ac10], 1
push dword [0x55f89c]
push 0
push 0x5e4
call fcn.0042c564
push eax
push dword [ebx]
call fcn.004ee447
push ebx
call fcn.0052527e
push ebx
push 0x56d68d
call fcn.00525130
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8