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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63766d
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x6a6040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x25c]
test ecx, ecx
je 0x4ea6ff
mov eax, dword [ecx + 4]
jmp 0x4ea701
xor eax, eax
mov edi, dword [esi + 0x31a]
cdq
cmp dword [esi + 0x31e], edx
jg 0x4ea7d0
jl 0x4ea71e
cmp edi, eax
jae 0x4ea7d0
test ecx, ecx
je 0x4ea72c
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
sub edx, edi
jmp 0x4ea735
mov edx, edi
mov eax, 0x651f68
neg edx
add eax, edi
mov ecx, esi
push edx
push eax
call fcn.005d40b0
test eax, eax
je 0x4eaafc
cdq
mov edi, eax
mov byte [esi + 0x367], 0
add edi, dword [esi + 0x31a]
mov ebx, edx
mov dword [esi + 0x31a], edi
adc ebx, dword [esi + 0x31e]
mov dword [esi + 0x31e], ebx
mov ecx, dword [esi + 0x25c]
test ecx, ecx
je 0x4ea77b
mov eax, dword [ecx + 4]
jmp 0x4ea77d
xor eax, eax
cdq
cmp ebx, edx
jl 0x4ea7ba
jg 0x4ea788
cmp edi, eax
jb 0x4ea7ba
mov dword [esi + 0x31a], 0
mov dword [esi + 0x31e], 0
mov dword [esi + 0x25c], 0
test ecx, ecx
je 0x4ea7ba
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x4ea7ba
push ecx
call fcn.005a47b0
mov eax, dword [esi + 4]
push 0
mov ecx, dword [eax + 0xae]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x4ea6f0
mov ecx, dword [esi + 0x30a]
lea eax, [esi + 0x30a]
mov ebx, dword [esi + 0x30e]
cmp ecx, ebx
jl 0x4ea994
cmp dword [esi + 0x316], 0
jg 0x4ea8fb
jl 0x4ea806
cmp dword [esi + 0x312], 0
ja 0x4ea8fb
lea ecx, [esi + 0x2f9]
call fcn.004e7990
cmp dword [esi + 0x326], 0
jne 0x4ea8a4
cmp byte [esi + 0x260], 0
mov ecx, esi
je 0x4eab6b
push 0
call fcn.004e9cd0
mov ecx, esi
call fcn.004eabb0
test al, al
je 0x4ea8e4
mov ecx, esi
mov dword [esi + 0x31a], 0
mov dword [esi + 0x31e], 0
call fcn.004eb9e0
test al, al
je 0x4eab5f
cmp dword [esi + 0x326], 0
je 0x4ea8c4
mov ecx, dword [0x6ac16c]
push 0xffffffffffffffff
call fcn.005e07d0
cmp byte [esi + 0x3fa], 0
jne 0x4ea899
push 1
push 0
lea ecx, [esi + 0x3ee]
push 0x1c9c380
call fcn.0041b220
mov ecx, dword [0x6ac16c]
call fcn.005e0810
push 0
mov ecx, esi
call fcn.004e9cd0
mov eax, 0x300
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
mov ecx, esi
call fcn.004e9cd0
mov eax, 0x102
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x201
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, ebx
jl 0x4ea994
cmp dword [esi + 0x316], 0
mov edi, dword [esi + 0x312]
mov dword [esi + 0x30e], 0
mov dword [eax], 0
jl 0x4ea931
jg 0x4ea92c
cmp edi, 0x30d40
jbe 0x4ea931
mov edi, 0x30d40
cmp dword [esi + 0x306], 0
jne 0x4ea949
push edi
call fcn.00606f0f
add esp, 4
mov dword [esi + 0x306], eax
push edi
mov dword [ebp - 4], 0
lea ecx, [esi + 0x2f9]
push dword [esi + 0x306]
call fcn.005ccb90
mov ebx, eax
test ebx, ebx
jle 0x4eab75
cdq
sub dword [esi + 0x312], eax
mov eax, dword [esi + 0x316]
sbb eax, edx
mov dword [esi + 0x30e], ebx
mov dword [esi + 0x316], eax
lea eax, [esi + 0x30a]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi + 0x306]
xor edi, edi
sub ebx, dword [eax]
add ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ebx, ebx
jle 0x4eaaf0
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6b0dcc]
push 0xffffffffffffffff
mov dword [ebp - 0x18], eax
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x80
jne 0x4ea9d2
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], edi
jmp 0x4ea9d9
test eax, eax
jne 0x4ea9e2
mov eax, dword [ebp - 0x18]
inc dword [eax + 0xc]
inc dword [eax + 8]
inc dword [eax + 4]
cmp dword [esi + 0x152], 0
je 0x4ea9fa
lea ecx, [esi + 0x14a]
push ebx
call fcn.005d8a20
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x6b0dcc]
call fcn.005e0810
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4eaaf0
push 0
cmovg ebx, eax
push ebx
push dword [ebp - 0x20]
push dword [esi + 0x8d]
call dword [sym.imp.WS2_32.dll_send]
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test edi, edi
js 0x4eab22
cmp edi, ebx
jge 0x4eaa47
and dword [esi + 0x95], 0xfffffffd
push 3
mov ecx, esi
call fcn.005d2b10
mov ecx, dword [esi + 0xb1]
mov eax, ecx
mov ebx, dword [esi + 0xb5]
and eax, ebx
cmp eax, 0xffffffff
jne 0x4eaa73
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, edi
cdq
add eax, ecx
mov dword [esi + 0xb1], eax
adc edx, ebx
mov dword [esi + 0xb5], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x6b0dcc]
push 0xffffffffffffffff
call fcn.005e07d0
cmp dword [esi + 0x152], 0
je 0x4eaab9
add dword [esi + 0x162], edi
mov ecx, dword [esi + 0x152]
test ecx, ecx
je 0x4eaab9
push edi
call fcn.005d9240
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x6b0dcc]
call fcn.005e0810
test edi, edi
jg 0x4eaad4
cmp edi, 0xffffffff
jg 0x4eaaf0
test dword [esi + 0x95], 0xfffffffd
jne 0x4eaae7
and dword [esi + 8], 0xfffdffff
xor eax, eax
test edi, edi
cmovg eax, edi
mov edi, eax
or ecx, 0xffffffff
cmp edi, ecx
cmovge ecx, edi
test ecx, ecx
jne 0x4eab3d
cmp byte [esi + 0x367], 0
jne 0x4eab0e
push 1
mov ecx, esi
call fcn.004e9cd0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
jne 0x4eaa47
cmp eax, 0x2733
jne 0x4eaba3
and dword [esi + 0x95], 0xfffffffd
or edi, edi
jmp 0x4eaad4
mov eax, dword [esi + 4]
add dword [esi + 0x30a], ecx
mov byte [esi + 0x367], 0
push 0
mov ecx, dword [eax + 0xae]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x4ea7d0
push str.Parse_request_error
mov ecx, esi
call fcn.004e9ca0
push 0x651eaf
call fcn.004e9ca0
push str.File:_Read_0_bytes
mov ecx, esi
call fcn.004e9ca0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00405fd0
mov ecx, dword [ebp - 0x14]
push eax
call fcn.004e9ca0
mov ecx, dword [ebp - 0x14]
push str.File_Read:_catch_..._
call fcn.004e9ca0
push str.send__
mov ecx, esi
call fcn.005d3100
int3