Function at 0x54b400
Capabilities:
Send data
Send data on socket

Disassembly:
sub esp, 0x3ec
push ebx
push esi
mov esi, dword [esp + 0x3f8]
push edi
mov ebx, edx
mov edi, ecx
mov ecx, esi
mov dword [esp + 0xc], ebx
call fcn.004e2760
test eax, eax
je 0x54b43e
cmp dword [esi + 4], 0xffffffff
jne 0x54b44c
xor edx, edx
mov ecx, 0x1774
call fcn.0041d620
mov edx, esi
mov ecx, eax
call fcn.0054a630
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x3ec
ret 4
mov eax, dword [esi + 0x834]
test eax, eax
je 0x54b461
mov ecx, esi
call fcn.004e29b0
test eax, eax
jne 0x54b43e
push ebp
push edi
mov edx, 0x3e7
lea ecx, [esp + 0x18]
call fcn.0041ee40
mov edx, esi
lea ecx, [esp + 0x14]
lea ebp, [esp + 0x14]
call fcn.0054b2a0
mov edx, dword [esi + 0xcfc]
test edx, edx
je 0x54b4b5
lea ebx, [ebx]
cmp dword [edx + 0x1c], 0xffffffff
jne 0x54b4ae
mov ecx, dword [esi + 0xcfc]
mov edi, dword [edx + 0x40]
call fcn.004c7fe0
mov dword [esi + 0xcfc], eax
mov edx, edi
jmp 0x54b4b1
mov edx, dword [edx + 0x40]
test edx, edx
jne 0x54b490
mov ecx, dword [esi + 0xcfc]
test ecx, ecx
je 0x54b501
mov al, byte [esp + 0x14]
test al, al
je 0x54b4db
push ebx
lea edx, [esp + 0x18]
call fcn.004c7e10
test eax, eax
je 0x54b4db
mov dword [esi + 0xcfc], eax
mov eax, dword [esi + 0xcfc]
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0x1c], 0xffffffff
mov edx, dword [esi + 0xcfc]
mov ebp, dword [edx]
test ebp, ebp
mov dword [esp + 0x10], ecx
je 0x54b700
mov ebx, ecx
cmp byte [ebp], 0
je 0x54b700
mov eax, dword [0x5a8b78]
test eax, eax
je 0x54b526
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0048bad0
test eax, eax
jne 0x54b71f
mov ecx, 1
call fcn.004e2c60
mov eax, dword [0x5b1218]
test eax, eax
je 0x54b542
mov edx, ebp
xor ecx, ecx
call fcn.0051aad0
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x54b547
sub eax, edx
mov edi, eax
mov eax, dword [esi + 0x241c]
test eax, eax
je 0x54b58e
mov ecx, dword [esi + 4]
push edi
mov edx, ebp
call fcn.00521aa0
cmp eax, edi
jne 0x54b56f
mov ebx, edi
jmp 0x54b59e
cmp eax, 0xfffffffd
jne 0x54b581
push 0x2747
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x54b5a7
push 0x2745
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x54b5a7
mov eax, dword [esi + 4]
push 0
push edi
push ebp
push eax
call dword [sym.imp.WSOCK32.dll_send]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x54b680
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ebx, eax
cmp ebx, 0x2733
jne 0x54b5fd
mov ecx, dword [esi + 0xcfc]
test ecx, ecx
je 0x54b5db
cmp ebp, dword [ecx]
jne 0x54b5db
mov edx, dword [esp + 0x10]
pop ebp
pop edi
pop esi
mov dword [ecx + 0x1c], edx
xor eax, eax
pop ebx
add esp, 0x3ec
ret 4
push 0
mov edx, ebp
call fcn.004c7e10
test eax, eax
je 0x54b5ee
mov dword [esi + 0xcfc], eax
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x3ec
ret 4
lea edi, [esi + 0x444]
mov edx, 0x3e7
mov ecx, edi
call fcn.0041ef30
test ebx, ebx
je 0x54b655
mov ecx, ebx
call fcn.0054a5a0
push eax
xor edx, edx
mov ecx, 0x1775
call fcn.0041d620
push eax
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x5a5508]
add esp, 0xc
mov dword [0x59bcec], 0
mov dword [0x5ae23c], 1
mov ecx, dword [esi]
push eax
mov edx, edi
call fcn.00503ad0
mov ecx, esi
call fcn.0054a7d0
xor edx, edx
mov ecx, 0x5e1
call fcn.0041d620
mov edx, esi
mov ecx, eax
call fcn.0054a630
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x3ec
ret 4
test ebx, ebx
jg 0x54b686
xor ebx, ebx
cmp ebx, edi
jge 0x54b6ad
mov ecx, dword [esi + 0xcfc]
push 0
lea edi, [ebx + ebp]
push 0
mov edx, edi
call fcn.004c8960
test eax, eax
je 0x54b6a8
mov dword [esi + 0xcfc], eax
mov byte [edi], 0
mov edi, ebx
mov eax, dword [esi + 0x1c74]
test eax, eax
jle 0x54b6c6
add eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x1c74], eax
jmp 0x54b6cc
mov dword [esi + 0x1c74], edi
mov ebx, dword [esi + 0x1c70]
add ebx, edi
mov dword [esi + 0x1c70], ebx
mov ecx, dword [0x59ba38]
mov eax, ebx
cmp eax, ecx
jle 0x54b6ec
mov dword [esi + 0x1c70], ecx
mov al, byte [esi + 0x2188]
test al, al
je 0x54b700
push esi
xor edx, edx
mov ecx, ebp
call fcn.0041f740
mov eax, dword [esi + 0xcfc]
test eax, eax
je 0x54b71f
mov ecx, dword [0x5b4314]
push esi
push 0
push 0x804c
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x3ec
ret 4