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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x7544
call fcn.00552f00
mov eax, dword [0x5c53dc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x15fc9]
mov eax, 0x7536
sub eax, ecx
mov dword [ebp - 0x7540], 0
test eax, eax
jle 0x54e880
push 0
push eax
lea eax, [ecx + esi + 0x24]
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x54e857
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x54e83a
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
push eax
call fcn.0054df80
add esp, 4
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x54e87a
push 0xff100008
call fcn.0054df80
add esp, 4
or eax, 0xffffffff
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
add dword [esi + 0x15fc9], eax
push ebx
push edi
mov edx, 0x8000
xor edi, edi
test word [esi + 0xe], dx
je 0x54e90e
mov edi, dword [esi + 0x15fc9]
test edi, edi
jle 0x54ea2d
lea ecx, [esi + 0x14]
push ecx
lea eax, [esi + 0x24]
push edi
push eax
lea edx, [esi + 0x10]
push edx
call fcn.0054dfc0
add esp, 0x10
test eax, eax
je 0x54e8c0
mov dword [ebp - 0x7540], 1
test edi, edi
je 0x54ea2d
mov ebx, dword [esi + 0x15fc9]
sub ebx, edi
test ebx, ebx
jle 0x54e8e8
push ebx
lea ecx, [esi + edi + 0x24]
push ecx
lea eax, [esi + 0x24]
push eax
call fcn.00552080
add esp, 0xc
test ebx, ebx
jns 0x54e8ec
xor ebx, ebx
mov eax, dword [ebp - 0x7540]
mov byte [esi + ebx + 0x24], 0
pop edi
mov dword [esi + 0x15fc9], ebx
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x15fc9], 6
jbe 0x54ea2d
jmp 0x54e920
mov eax, dword [esi + edi + 0x24]
mov cx, word [esi + edi + 0x28]
mov dword [ebp - 0x753c], eax
mov edx, 0x6a8c
xor ax, dx
mov word [ebp - 0x753c], ax
mov edx, dword [ebp - 0x753c]
add edx, 0x3f52
xor word [ebp - 0x753a], dx
mov edx, dword [ebp - 0x753c]
movzx ebx, ax
add edx, 0xffffc4ae
xor cx, dx
lea eax, [ebx - 1]
mov word [ebp - 0x7538], cx
cmp eax, 0x752f
ja 0x54ea0a
mov ecx, dword [esi + 0x15fc9]
sub ecx, edi
sub ecx, 6
cmp ebx, ecx
jg 0x54e8c0
movzx eax, word [esi + 0xa]
cmp word [ebp - 0x753a], ax
jne 0x54ea0a
inc eax
mov word [esi + 0xa], ax
lea eax, [esi + edi + 0x2a]
push ebx
push eax
push 0
mov dword [ebp - 0x7544], eax
call fcn.0054e6e0
add esp, 0xc
cmp word [ebp - 0x7538], ax
jne 0x54ea0a
mov eax, dword [ebp - 0x7544]
lea edx, [esi + 0x14]
push edx
push ebx
push eax
lea ecx, [esi + 0x10]
push ecx
call fcn.0054dfc0
add esp, 0x10
test eax, eax
je 0x54e8c0
mov eax, 1
add dword [ebp - 0x7540], eax
add dword [esi + 0x20], eax
xor edx, edx
mov word [esi + 0xc], dx
mov eax, dword [esi + 0x15fc9]
lea edi, [edi + ebx + 6]
sub eax, edi
cmp eax, 6
ja 0x54e920
jmp 0x54e8c0
push 0xff100009
call fcn.0054df80
add esp, 4
pop edi
pop ebx
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop ebx
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00551e40
mov esp, ebp
pop ebp
ret