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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
mov eax, dword [0x10017004]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
push edi
mov edi, dword [sym.imp.WS2_32.dll_recv]
xor esi, esi
nop
push 0
mov eax, 0xd
sub eax, esi
push eax
lea eax, [esp + 0x54]
add eax, esi
push eax
push dword [0x1001a1e8]
call edi
test eax, eax
jle 0x100051e2
add esi, eax
cmp esi, 0xd
jb 0x10004e30
mov al, byte [esp + 0x4c]
cmp al, byte [0x1001a048]
jne 0x10004f18
mov edi, dword [esp + 0x4d]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004e71
mov al, byte [0x1001a045]
sub ecx, edx
movzx ecx, cx
mov edx, ecx
mov byte [0x109aa660], al
mov eax, dword [esp + 0x51]
push edx
push edi
push 0x109aa66b
lea esi, [edx + 0xb]
mov dword [0x109aa661], edi
mov dword [0x109aa665], eax
mov word [0x109aa669], cx
call fcn.10006080
mov ecx, dword [0x1011a228]
add esp, 0xc
mov eax, ecx
sub eax, dword [0x1011a22c]
add eax, esi
cmp eax, 0x40000
jbe 0x10004edb
call fcn.10002600
test eax, eax
jne 0x100051e2
mov ecx, dword [0x1011a228]
mov eax, 0xc0000
sub eax, ecx
cmp esi, eax
ja 0x100051e2
push esi
lea eax, [ecx + 0x1011a230]
push 0x109aa660
push eax
call fcn.10006080
add dword [0x1011a228], esi
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret
cmp al, byte [0x1001a049]
jne 0x10004fde
mov al, byte [0x1001a046]
mov ecx, dword [esp + 0x51]
mov byte [0x109aa660], al
mov eax, dword [esp + 0x4d]
mov dword [0x109aa661], eax
mov eax, 4
mov word [0x109aa669], ax
mov dword [0x109aa665], ecx
mov ecx, dword [0x1011a228]
mov eax, ecx
sub eax, dword [0x1011a22c]
add eax, 0xf
mov dword [0x109aa66b], 0x6e69616d
cmp eax, 0x40000
jbe 0x10004f81
call fcn.10002600
test eax, eax
jne 0x100051e2
mov ecx, dword [0x1011a228]
mov eax, 0xc0000
sub eax, ecx
cmp eax, 0xf
jb 0x100051e2
movq xmm0, qword [0x109aa660]
mov eax, dword [0x109aa668]
movq qword [ecx + 0x1011a230], xmm0
mov dword [ecx + 0x1011a238], eax
mov ax, word [0x109aa66c]
mov word [ecx + 0x1011a23c], ax
mov al, byte [0x109aa66e]
mov byte [ecx + 0x1011a23e], al
add dword [0x1011a228], 0xf
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret
cmp al, byte [0x1001a04a]
jne 0x100050b1
mov ecx, dword [esp + 0x4d]
movzx eax, byte [0x1001a041]
mov byte [esp + 0x20], al
mov dword [esp + 0x25], 0
mov eax, dword [ecx]
mov dword [esp + 0x21], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x29], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x31], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x39], eax
movzx eax, byte [ecx + 0x10]
mov byte [esp + 0x3d], al
movzx eax, byte [ecx + 0x11]
mov byte [esp + 0x3e], al
movzx eax, byte [ecx + 0x12]
mov ecx, dword [0x1011a228]
mov byte [esp + 0x3f], al
mov eax, ecx
sub eax, dword [0x1011a22c]
add eax, 0x20
mov dword [esp + 0x2d], 0
mov dword [esp + 0x35], 0
cmp eax, 0x40000
jbe 0x1000506f
call fcn.10002600
test eax, eax
jne 0x100051e2
mov ecx, dword [0x1011a228]
mov eax, 0xc0000
sub eax, ecx
cmp eax, 0x20
jb 0x100051e2
movups xmm0, xmmword [esp + 0x20]
movups xmmword [ecx + 0x1011a230], xmm0
movups xmm0, xmmword [esp + 0x30]
movups xmmword [ecx + 0x1011a240], xmm0
add dword [0x1011a228], 0x20
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret
cmp al, byte [0x1001a04c]
jne 0x100050c4
mov dl, byte [0x1001a044]
jmp 0x1000518a
cmp al, byte [0x1001a04d]
jne 0x10005174
mov eax, dword [0x1001a038]
add eax, 0xffffffc8
cmp eax, 8
ja case.0x100050e8.58
movzx eax, byte [eax + 0x10005204]
jmp dword [eax*4 + 0x100051f8]
mov dl, byte [0x1001a043]
jmp 0x1000518a
mov al, byte [0x1001a043]
mov ecx, dword [0x1011a228]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x4d]
mov dword [esp + 0x19], eax
mov eax, ecx
sub eax, dword [0x1011a22c]
add eax, 5
cmp eax, 0x40000
jbe 0x10005136
call fcn.10002600
test eax, eax
jne 0x100051e2
mov ecx, dword [0x1011a228]
mov eax, 0xc0000
sub eax, ecx
cmp eax, 5
jb 0x100051e2
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x1011a230], eax
mov al, byte [esp + 0x1c]
mov byte [ecx + 0x1011a234], al
add dword [0x1011a228], 5
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret
cmp al, byte [0x1001a04e]
je 0x10005184
cmp al, byte [0x1001a04f]
jne case.0x100050e8.58
mov dl, byte [0x1001a042]
mov ecx, dword [0x1011a228]
mov eax, ecx
sub eax, dword [0x1011a22c]
inc eax
mov byte [esp + 0x17], dl
cmp eax, 0x40000
jbe 0x100051b7
call fcn.10002600
test eax, eax
jne 0x100051e2
mov ecx, dword [0x1011a228]
mov dl, byte [esp + 0x17]
mov eax, 0xc0000
sub eax, ecx
cmp eax, 1
jb 0x100051e2
mov byte [ecx + 0x1011a230], dl
inc dword [0x1011a228]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x5c]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, esp
call fcn.10005356
mov esp, ebp
pop ebp
ret