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

Disassembly:
sub esp, 0x10
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 4]
xor ebx, ebx
cmp eax, ebx
push esi
mov esi, 1
push edi
mov edi, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
je 0x549768
cmp byte [eax], 0x2d
jne 0x549768
push 0x74
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x549739
xor edi, edi
mov eax, dword [ebp + 4]
push 0x6e
push eax
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x54974f
mov dword [esp + 0x14], esi
mov ecx, dword [ebp + 4]
push 0x62
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x549763
mov ebx, esi
mov esi, 2
mov eax, dword [ebp + esi*4]
test eax, eax
jne 0x549787
mov edx, dword [ebp]
push eax
push eax
push edx
push eax
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
push 0x5e7e38
push eax
mov dword [esp + 0x24], esi
call fcn.005ce940
mov ecx, dword [ebp + esi*4]
add esp, 8
test eax, eax
je 0x5497d1
mov eax, dword [0x642eec]
push 0
push eax
push ecx
call fcn.005470d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x54981b
push eax
push 0x145c
call fcn.00421db0
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx + esi*4]
push eax
jmp 0x549c4a
push ecx
call fcn.00547030
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x5497f9
push eax
push 0x145d
call fcn.00421db0
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx + esi*4]
push eax
jmp 0x549c4a
cmp dword [ebp + 0x1b0], 2
je 0x54981b
push 0
push 0x145e
call fcn.00421db0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + esi*4]
push eax
jmp 0x549c49
mov eax, dword [ebp + 0x1bc]
test eax, eax
je 0x54985f
push 0
push 0x145f
call fcn.00421db0
push eax
push str.__sockwrite:__s
push 0x615410
call dword [sym.imp.USER32.dll_wsprintfA]
push 6
push 0
push 0x615410
push 0
call fcn.0048a440
add esp, 0x24
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov ecx, dword [esp + 0x24]
inc esi
test ebx, ebx
je 0x549885
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x549885
push eax
call fcn.005cbe51
mov ebx, eax
add esp, 4
test ebx, ebx
jg 0x549880
xor ebx, ebx
mov ecx, dword [esp + 0x24]
inc esi
mov eax, dword [ecx + esi*4]
test eax, eax
jne 0x5498de
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5498ad
mov eax, dword [ecx]
push 0
push 0
push eax
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x28]
mov dx, word [0x5e6c94]
mov ecx, eax
mov word [ecx], dx
mov dl, byte [0x5e6c96]
mov byte [ecx + 2], dl
mov dword [esp + 0x10], eax
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5498d0
sub eax, edx
jmp 0x5499aa
test edi, edi
je 0x54994a
cmp byte [eax], 0x26
jne 0x54994a
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.0041fed0
add esp, 8
test eax, eax
jne 0x54993a
push eax
push 0x1457
call fcn.00421db0
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx + esi*4]
push eax
push str.__sockwrite:__s__s
push 0x615410
call dword [sym.imp.USER32.dll_wsprintfA]
push 6
push 0
push 0x615410
push 0
call fcn.0048a440
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov ecx, dword [eax + 0xc]
mov edx, dword [eax]
mov eax, dword [eax + 8]
add ecx, edx
mov dword [esp + 0x10], ecx
jmp 0x5499a0
mov edi, dword [esp + 0x28]
push ecx
push edi
push esi
mov byte [edi], 0
call fcn.00515990
mov eax, edi
add esp, 0xc
mov dword [esp + 0x10], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x549965
mov ecx, dword [esp + 0x14]
sub eax, edx
test ecx, ecx
je 0x5499a0
test eax, eax
jle 0x549981
cmp byte [eax + edi - 1], 0xa
je 0x5499a0
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x549982
mov cx, word [0x5e6c94]
mov word [edi], cx
mov dl, byte [0x5e6c96]
mov byte [edi + 2], dl
add eax, 2
test ebx, ebx
je 0x5499aa
cmp ebx, eax
jge 0x5499aa
mov eax, ebx
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x1b0], 2
jne 0x549be8
mov ecx, dword [ebp + 0x1a4]
test ecx, ecx
je 0x549a19
mov eax, dword [ebp + 0x1a8]
add eax, ebx
cmp eax, 0x4000
jg 0x549c31
add eax, 0xa
push eax
push ecx
call fcn.005ce1f4
add esp, 8
test eax, eax
je 0x549c77
mov edi, dword [ebp + 0x1a8]
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
add edi, eax
mov dword [ebp + 0x1a4], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [ebp + 0x1a8], ebx
jmp 0x549a4f
lea eax, [ebx + 0xa]
push eax
call fcn.005cc381
add esp, 4
test eax, eax
mov dword [ebp + 0x1a4], eax
je 0x549c94
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x1a8], ebx
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp eax, ebx
je 0x549a75
mov eax, dword [ebp + 0x200]
push ebx
push 2
push eax
push 0x8038
call fcn.0058d320
add esp, 0x10
jmp 0x549be8
mov edi, dword [ebp + 0x1a8]
cmp edi, 0x2000
jle 0x549a88
mov edi, 0x2000
cmp dword [ebp + 0x1f4], ebx
je 0x549acc
mov ecx, dword [ebp + 0x1a4]
mov edx, dword [ebp + 0x200]
push edi
push ecx
push edx
call fcn.0054e4a0
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x549ae4
cmp esi, 0xfffffffd
jne 0x549abf
push 0x2747
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x549ae9
push 0x2745
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x549ae9
mov eax, dword [ebp + 0x1a4]
mov ecx, dword [ebp + 0x200]
push ebx
push edi
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_send]
mov esi, eax
cmp esi, 0xffffffff
jne 0x549b2a
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
cmp eax, 0x2733
mov dword [esp + 0x18], 1
je 0x549be8
movzx edx, ax
shl edx, 0x10
mov dword [ebp + 0x1e8], eax
mov eax, dword [ebp + 0x200]
mov ecx, dword [0x645324]
or edx, 2
push edx
push eax
push 0x8038
push ecx
jmp 0x549be2
push ebx
call fcn.005cce76
add esp, 4
cmp esi, ebx
mov dword [ebp + 0x1e0], eax
jle 0x549baa
mov edx, dword [ebp + 0x1d4]
mov eax, dword [ebp + 0x1a8]
add edx, esi
cmp esi, eax
mov dword [ebp + 0x1d4], edx
jge 0x549baa
mov ecx, dword [ebp + 0x1a4]
sub eax, esi
push eax
lea edx, [ecx + esi]
push edx
push ecx
mov dword [ebp + 0x1a8], eax
call fcn.005cceb0
mov eax, dword [ebp + 0x1a8]
mov ecx, dword [ebp + 0x1a4]
add eax, 0xa
push eax
push ecx
call fcn.005ce1f4
add esp, 0x14
cmp eax, ebx
je 0x549b91
mov dword [ebp + 0x1a4], eax
mov edx, dword [ebp + 0x200]
push ebx
push 2
push edx
push 0x8038
call fcn.0058d320
add esp, 0x10
jmp 0x549be8
mov eax, dword [ebp + 0x1a4]
push eax
call fcn.005cc393
mov dword [ebp + 0x1a4], ebx
mov dword [ebp + 0x1a8], ebx
mov eax, dword [0x63fb90]
add esp, 4
cmp eax, ebx
je 0x549be8
mov ecx, dword [ebp + 0x1ac]
mov edx, dword [0x645324]
push ebp
push ecx
push 0x803a
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + esi*4]
push 0x5e7e38
push eax
call fcn.005ce940
add esp, 8
test eax, eax
je 0x549cb1
mov ecx, dword [ebp + 0x208]
mov edx, dword [edi + esi*4]
push 0
push ecx
push edx
call fcn.005470d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x549cb1
mov ebx, dword [esp + 0x14]
jmp 0x5499b0
push 0
push 0x1458
call fcn.00421db0
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [eax + ecx*4]
push edx
push str.__sockwrite:__s__s
push 0x615410
call dword [sym.imp.USER32.dll_wsprintfA]
push 6
push 0
push 0x615410
push 0
call fcn.0048a440
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push 2
push 0
push ecx
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push 2
push 0
push eax
push 0
call fcn.0048a440
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret