Function at 0x458aba
Capabilities:
Connect socket
Get file size
Read and send data from client to server
Read file on windows
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push 0xffffffffffffffff
push 0x66cd9d
mov eax, dword fs:[0]
push eax
mov eax, 0x3278
call section..text
mov eax, dword [0x759e6c]
xor eax, esp
mov dword [esp + 0x3274], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x759e6c]
xor eax, esp
push eax
lea eax, [esp + 0x328c]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x329c]
lea edi, [esp + 0x50]
mov dword [esp + 0x18], eax
xor ebp, ebp
push 8
xor eax, eax
mov dword [esp + 0x24], ebp
pop ecx
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x30]
mov dword [esp + 0x54], ebp
cmp dword [eax + 0x14], 0x10
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], 6
jb 0x458b3a
mov eax, dword [eax]
cmp dword [ebx + 0x14], 0x10
jb 0x458b44
mov ecx, dword [ebx]
jmp 0x458b46
mov ecx, ebx
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x54]
push edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x458b80
push ebp
push str.getaddrinfo_failed
lea ecx, [esp + 0x1bc]
call fcn.00454a82
push 0x70f0bc
lea eax, [esp + 0x1b8]
push eax
call fcn.00631398
mov eax, dword [esp + 0x20]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
jne 0x458bba
push ebp
push str.Cannot_create_outgoing_socket
lea ecx, [esp + 0x1bc]
call fcn.00454a82
push 0x70f0bc
lea eax, [esp + 0x1b8]
jmp 0x458b7a
push 4
lea eax, [esp + 0x28]
mov dword [esp + 0x30], ebp
mov ebp, dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, 0xffff
push eax
push 0x1006
push esi
push edi
mov dword [esp + 0x38], 0x3e8
call ebp
push 4
lea eax, [esp + 0x28]
push eax
push 0x1005
push esi
push edi
call ebp
push 4
lea eax, [esp + 0x30]
push eax
push 0x1b
push 0x29
push edi
call ebp
mov eax, dword [esp + 0x20]
push dword [eax + 0x10]
push dword [eax + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
push dword [esp + 0x20]
mov esi, eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp esi, 0xffffffff
jne 0x458c4c
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push str.Socket_cannot_connect
lea ecx, [esp + 0x1bc]
call fcn.00454a82
push 0x70f0bc
lea eax, [esp + 0x1b8]
jmp 0x458b7a
push 0
push 0
push 0x7010
push 0xffff
push edi
call ebp
push 1
push 2
lea ecx, [esp + 0x78]
call fcn.0043de77
xor eax, eax
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x3294], eax
mov dword [esp + 0x164], eax
mov byte [esp + 0x154], al
mov byte [esp + 0x3294], 1
cmp dword [ebx + 0x70], eax
je 0x458cba
mov esi, 0x693834
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x15c]
call fcn.00409b2f
mov eax, dword [ebx + 0x70]
xor ebp, ebp
jmp 0x458d05
cmp dword [ebx + 0x78], eax
je 0x458ce7
mov esi, 0x693834
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x15c]
call fcn.00409b2f
xor ebp, ebp
push ebp
push dword [ebx + 0x78]
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
jmp 0x458d05
mov esi, 0x69383c
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x15c]
call fcn.00409b2f
xor ebp, ebp
mov eax, ebp
mov esi, 0x693840
push esi
push eax
push 0x693844
push str.Connection:_close_r_n
push str.User_Agent:_Hydra_HttpRequest_r_n
push esi
push ebx
push str.Host:
push str._HTTP_1.1_r_n
lea eax, [ebx + 0x18]
push eax
push 0x692fc0
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.004454eb
mov ecx, eax
call fcn.0043e16a
push eax
call fcn.004454eb
cmp dword [ebx + 0x58], ebp
je 0x458dad
push esi
lea eax, [ebx + 0x48]
push eax
push 0x6938a0
lea eax, [esp + 0x7c]
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push esi
lea eax, [esp + 0x74]
push eax
call fcn.004454eb
cmp dword [ebx + 0x70], ebp
je 0x458dcb
lea eax, [ebx + 0x60]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00443e5b
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x74]
call fcn.00440eae
mov esi, eax
lea eax, [esp + 0x108]
mov byte [esp + 0x3294], 2
push eax
lea ecx, [esp + 0x74]
call fcn.00440eae
cmp dword [eax + 0x14], 0x10
jb 0x458dff
mov eax, dword [eax]
push ebp
push dword [esi + 0x10]
mov esi, dword [sym.imp.WS2_32.dll_send]
push eax
push edi
call esi
push ebp
push 1
lea ecx, [esp + 0x110]
mov dword [ebx + 0xbc], eax
call fcn.0040a0e9
push ebp
push 1
lea ecx, [esp + 0x144]
mov byte [esp + 0x329c], 1
call fcn.0040a0e9
cmp dword [ebx + 0xbc], 0xffffffff
jne 0x458e6c
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push ebp
push str.Socket_cannot_send
lea ecx, [esp + 0x1bc]
call fcn.00454a82
push 0x70f0bc
lea eax, [esp + 0x1b8]
jmp 0x458b7a
cmp dword [ebx + 0x78], 0
je 0x458ecf
push ebp
push ebp
push ebp
push dword [ebx + 0x78]
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
mov dword [esp + 0x1c], ebp
push ebp
mov ebp, dword [sym.imp.KERNEL32.DLL_ReadFile]
jmp 0x458eb4
cmp dword [esp + 0x1c], 0
je 0x458ecf
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x28c]
push eax
push edi
call esi
cmp eax, 0xffffffff
je 0x458fcb
add dword [ebx + 0xbc], eax
push 0
lea eax, [esp + 0x20]
push eax
push 0x1002
lea eax, [esp + 0x290]
push eax
push dword [ebx + 0x78]
call ebp
test eax, eax
jne 0x458e8b
and dword [esp + 0x134], 0
mov dword [esp + 0x138], 0xf
mov byte [esp + 0x124], 0
mov byte [esp + 0x3294], 3
xor esi, esi
mov byte [esp + 0x17], 1
mov ebp, dword [esp + 0x18]
push 0x2000
lea eax, [esp + 0x128c]
push 0
push eax
call fcn.00635a30
add esp, 0xc
lea eax, [esp + 0x1288]
push 0
push 0x1fff
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x459027
add dword [ebx + 0xc0], eax
cmp byte [esp + 0x17], 0
je 0x459011
push eax
lea eax, [esp + 0x128c]
push eax
lea ecx, [esp + 0x12c]
call fcn.00409d17
mov ebp, str._r_n_r_n
push ebp
call fcn.00409db4
pop ecx
push eax
push esi
push ebp
lea ecx, [esp + 0x130]
call fcn.00435670
mov ebp, eax
test ebp, ebp
jle 0x458ff6
cmp dword [esp + 0x138], 0x10
mov eax, dword [esp + 0x124]
jae 0x458f91
lea eax, [esp + 0x124]
push dword [esp + 0x18]
lea ecx, [eax + 4]
mov eax, dword [esp + 0x138]
sub eax, ebp
add ecx, ebp
sub eax, 4
push eax
push ecx
mov ecx, ebx
call fcn.0045876f
push 0
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x12c]
call fcn.0043c60e
mov byte [esp + 0x17], 0
jmp 0x458ef9
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push str.Socket_cannot_send_post
lea ecx, [esp + 0x1bc]
call fcn.00454a82
push 0x70f0bc
lea eax, [esp + 0x1b8]
jmp 0x458b7a
mov esi, dword [esp + 0x134]
add esi, 0xfffffffc
mov ebp, dword [esp + 0x18]
jns 0x458efd
xor esi, esi
jmp 0x458efd
push ebp
push eax
lea eax, [esp + 0x1290]
mov ecx, ebx
push eax
call fcn.0045876f
jmp 0x458efd
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov edi, 0x693840
push edi
call fcn.00409db4
pop ecx
push eax
xor esi, esi
lea ecx, [esp + 0x128]
push esi
push edi
call fcn.00435670
push eax
push esi
lea eax, [esp + 0x18c]
push eax
lea ecx, [esp + 0x130]
call fcn.0043d015
push 1
push str.______t___0_9_____t_
lea ecx, [esp + 0x48]
mov byte [esp + 0x329c], 4
call fcn.0044907e
lea ecx, [esp + 0x1b4]
call fcn.0044914e
push esi
lea eax, [esp + 0x44]
mov byte [esp + 0x3298], 6
push eax
lea eax, [esp + 0x1bc]
push eax
lea eax, [esp + 0x190]
push eax
call fcn.004486f2
test al, al
jne 0x45911a
push str.HttpRequest_status_line_not_recognizable__
lea ecx, [esp + 0x10c]
call fcn.00444274
lea eax, [esp + 0x184]
mov byte [esp + 0x3294], 7
push eax
mov eax, dword [esp + 0x10c]
lea ecx, [esp + 0x10c]
call dword [eax + 0x28]
mov eax, dword [esp + 0x108]
lea ecx, [esp + 0x108]
push 0x704a50
call dword [eax + 0x24]
push esi
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x224]
call fcn.0045496e
push 0x70f0bc
lea eax, [esp + 0x220]
jmp 0x458b7a
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
sub eax, ecx
push 0xc
cdq
pop edi
idiv edi
cmp eax, 1
ja 0x45913e
lea ecx, [esp + 0x1e0]
jmp 0x459141
add ecx, 0xc
lea eax, [esp + 0x108]
push eax
call fcn.00453e98
cmp dword [eax + 0x14], 0x10
jb 0x459156
mov eax, dword [eax]
push eax
call fcn.00632ccc
pop ecx
push esi
push 1
lea ecx, [esp + 0x110]
mov dword [ebx + 0x7c], eax
call fcn.0040a0e9
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x170]
call fcn.0040a0c6
push 1
push str._.__:___t__.__r_n
lea ecx, [esp + 0x38]
mov byte [esp + 0x329c], 8
call fcn.0044907e
lea ecx, [esp + 0x21c]
call fcn.0044914e
push esi
lea eax, [esp + 0x34]
mov byte [esp + 0x3298], 0xa
push eax
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x178]
push eax
call fcn.004486f2
test al, al
je 0x45933d
push 0xc
lea edi, [ebx + 0xb4]
pop ebx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x224]
sub eax, ecx
cdq
idiv ebx
cmp eax, 1
ja 0x4591fc
lea ecx, [esp + 0x248]
jmp 0x4591ff
add ecx, 0xc
lea eax, [esp + 0x13c]
push eax
call fcn.00453e98
cmp dword [esp + 0x150], 0x10
mov ecx, dword [esp + 0x13c]
mov esi, ecx
mov byte [esp + 0x3294], 0xb
jae 0x45927d
lea esi, [esp + 0x13c]
mov edx, esi
mov eax, dword [esp + 0x14c]
add eax, edx
cmp dword [esp + 0x150], 0x10
jae 0x45924a
lea ecx, [esp + 0x13c]
push fcn.00636212
push esi
push eax
push ecx
lea eax, [esp + 0x2c]
push eax
call fcn.0045829f
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x224]
sub eax, ecx
cdq
idiv ebx
cmp eax, 2
ja 0x459281
lea ecx, [esp + 0x248]
jmp 0x459284
mov edx, ecx
jmp 0x459230
add ecx, 0x18
lea eax, [esp + 0x108]
push eax
call fcn.00458687
lea eax, [esp + 0x108]
mov byte [esp + 0x3294], bl
push eax
lea eax, [esp + 0x140]
mov ecx, edi
push eax
call fcn.00458629
mov ecx, eax
call fcn.00409822
xor esi, esi
mov byte [esp + 0x3294], 0xb
push esi
push 1
lea ecx, [esp + 0x110]
call fcn.0040a0e9
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x240]
call fcn.00453e98
push eax
lea ecx, [esp + 0x170]
call fcn.00409822
push esi
push 1
lea ecx, [esp + 0x110]
call fcn.0040a0e9
push esi
push 1
lea ecx, [esp + 0x144]
mov byte [esp + 0x329c], 0xa
call fcn.0040a0e9
push esi
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x178]
push eax
call fcn.004486f2
test al, al
jne 0x4591db
mov ebx, dword [esp + 0x28]
push str.location
lea ecx, [esp + 0x10c]
call fcn.00409ba7
lea eax, [esp + 0x108]
mov byte [esp + 0x3294], 0xd
push eax
lea ecx, [ebx + 0xb4]
call fcn.004585cb
push eax
lea ecx, [esp + 0x1a0]
call fcn.0040a0c6
push esi
push 1
lea ecx, [esp + 0x110]
mov byte [esp + 0x329c], 0xf
call fcn.0040a0e9
cmp dword [esp + 0x1ac], 0
je 0x4593a7
push ebp
lea eax, [esp + 0x1a0]
mov ecx, ebx
push eax
call fcn.004599ac
xor ebx, ebx
lea ecx, [esp + 0x19c]
push ebx
push 1
call fcn.0040a0e9
lea ecx, [esp + 0x224]
call fcn.0041abd3
lea ecx, [esp + 0x30]
mov byte [esp + 0x3294], 8
call fcn.0044da1b
lea ecx, [esp + 0x3c]
call fcn.0041b878
push ebx
push 1
lea ecx, [esp + 0x174]
call fcn.0040a0e9
lea ecx, [esp + 0x1bc]
call fcn.0041abd3
lea ecx, [esp + 0x40]
mov byte [esp + 0x3294], 4
call fcn.0044da1b
lea ecx, [esp + 0x4c]
call fcn.0041b878
push ebx
push 1
lea ecx, [esp + 0x18c]
call fcn.0040a0e9
push ebx
push 1
lea ecx, [esp + 0x12c]
call fcn.0040a0e9
push ebx
push 1
lea ecx, [esp + 0x15c]
call fcn.0040a0e9
lea ecx, [esp + 0x70]
call fcn.0043e29e
mov ecx, dword [esp + 0x328c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3274]
xor ecx, esp
call fcn.00636364
add esp, 0x3284
ret 4