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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f4b8
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x1007100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x30], eax
mov edx, 0x1000
nop dword [eax + eax]
mov eax, 8
sub eax, esi
cmp eax, 0x1000
push 0
cmovg eax, edx
push eax
lea eax, [ebp - 0x48]
add eax, esi
push eax
push dword [ecx + 0x21c8]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
js 0x100335e9
mov ecx, dword [ebp - 0x38]
add esi, eax
mov edx, 0x1000
cmp esi, 8
jl 0x100335b0
jmp 0x100335eb
mov esi, eax
cmp esi, 8
je 0x100335fd
mov eax, 0xfffffffe
or edx, 0xffffffff
jmp 0x100337bd
push 0x10000
call fcn.1004968c
mov esi, dword [ebp - 0x48]
add esp, 4
mov edi, dword [ebp - 0x44]
mov ecx, esi
mov dword [ebp - 0x34], eax
or ecx, edi
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], edi
je 0x1003379e
push 0x10000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
test edi, edi
jg 0x10033649
jl 0x10033645
cmp esi, 0x10000
jae 0x10033649
mov ebx, esi
jmp 0x1003364e
mov ebx, 0x10000
xor esi, esi
test ebx, ebx
jle 0x1003368d
mov eax, ebx
mov ecx, 0x1000
sub eax, esi
cmp eax, 0x1000
push 0
cmovg eax, ecx
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
mov eax, dword [ebp - 0x38]
push dword [eax + 0x21c8]
call dword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test edi, edi
js 0x10033797
add esi, edi
cmp esi, ebx
jl 0x10033654
mov edi, esi
test edi, edi
js 0x10033797
push ebx
push dword [ebp - 0x34]
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.10003980
mov dword [ebp - 4], 0
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x14], 0x10
mov ebx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
cmovae edx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
sub eax, esi
cmp ecx, eax
ja 0x10033715
lea eax, [ecx + esi]
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], eax
mov eax, ecx
mov ecx, dword [ebp - 0x18]
jb 0x100336ff
mov eax, dword [eax]
push ecx
add esi, eax
push edx
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x1003372a
push ecx
push edx
mov byte [ebp - 0x4c], 0
push dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.1000a0e0
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x3c]
mov eax, edi
mov edi, dword [ebp - 0x40]
cdq
sub esi, eax
mov dword [ebp - 0x3c], esi
sbb edi, edx
mov dword [ebp - 0x40], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x10033773
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10033769
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10033791
push ecx
push ebx
call fcn.10049656
add esp, 8
mov eax, esi
mov dword [ebp - 0x18], 0
or eax, edi
mov dword [ebp - 0x14], 0xf
mov eax, dword [ebp - 0x34]
mov byte [ebp - 0x28], 0
jmp 0x10033621
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [ebp - 0x34]
mov byte [ebp - 0x29], 1
push eax
call fcn.10049687
add esp, 4
cmp byte [ebp - 0x29], 0
je 0x100337b7
mov eax, 0xfffffffd
or edx, 0xffffffff
jmp 0x100337bd
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100490d4
mov esp, ebp
pop ebp
ret 8