Function at 0x407275
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Hide graphical window
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov eax, 0x8780
mov ebp, esp
push ebx
push esi
push edi
call fcn.0040c490
mov byte [ebp - 0x8774], 0
xor ebx, ebx
lea eax, [ebp - 0x8774]
mov dword [ebp - 0x8780], 0
push 4
push str.ProxyEnable
push 0x429f18
push reloc.WSOCK32.dll_accept
push eax
mov byte [ebp - 0x86f4], 0
push 1
push ebx
mov byte [ebp - 0x8674], 0
call fcn.00406783
add esp, 0x1c
test eax, eax
jne 0x407435
cmp byte [ebp - 0x8774], 1
jne 0x407435
lea eax, [ebp - 0x8774]
push 1
push str.ProxyServer
push 0x429f60
push reloc.WSOCK32.dll_accept
push eax
push 1
push 0
call fcn.00406783
add esp, 0x1c
test eax, eax
jne 0x407418
lea eax, [ebp - 0x8774]
lea esi, [ebp - 0x8774]
mov dword [ebp - 0x8788], eax
lea eax, [ebp - 0x8774]
push 0x429f9c
push eax
mov dword [ebp - 0x878c], 0
call fcn.00409930
lea eax, [ebp - 0x8774]
pop ecx
pop ecx
push 0x3b
push eax
call fcn.004099d0
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x40739d
mov byte [edi], 0
push 5
push 0x429fa0
push esi
call fcn.00409990
add esp, 0xc
test eax, eax
jne 0x40737b
mov dword [ebp - 0x8788], esi
add dword [ebp - 0x8788], 5
inc dword [ebp - 0x878c]
jmp 0x40739d
inc dword [ebp - 0x878c]
mov esi, edi
inc esi
cmp dword [ebp - 0x878c], 8
jg 0x40739d
push 0x3b
push esi
call fcn.004099d0
mov edi, eax
pop ecx
test edi, edi
pop ecx
jne 0x40734f
cmp dword [ebp - 0x878c], 0
jne 0x4073c7
lea eax, [ebp - 0x8774]
push 5
push str.http
push eax
call fcn.00409990
add esp, 0xc
test eax, eax
jne 0x4073c7
add dword [ebp - 0x8788], 5
push 0x3a
push dword [ebp - 0x8788]
call fcn.004099d0
pop ecx
pop ecx
push 0x3d
push dword [ebp - 0x8788]
mov esi, eax
call fcn.004099d0
test esi, esi
pop ecx
pop ecx
je 0x407418
test eax, eax
jne 0x407418
mov byte [esi], 0
lea eax, [ebp - 0x86f4]
push dword [ebp - 0x8788]
push eax
call fcn.004098e0
mov edi, esi
lea eax, [ebp - 0x8674]
inc edi
pop ecx
pop ecx
push edi
push eax
call fcn.004098e0
pop ecx
pop ecx
cmp dword [ebp + 0x24], 0x58
je 0x407435
lea eax, [ebp - 0x8774]
push dword [ebp + 0x10]
push str.http:___s
push eax
call fcn.0040b2b0
add esp, 0xc
cmp byte [ebp - 0x86f4], 0
jne 0x407480
cmp dword [ebp + 0x24], 0x58
jne 0x407455
push str.direct
push dword [ebp + 0x18]
call fcn.004098e0
pop ecx
pop ecx
jmp 0x4074a4
lea eax, [ebp - 0x86f4]
push dword [ebp + 0x10]
push eax
call fcn.004098e0
lea eax, [ebp - 0x8674]
pop ecx
pop ecx
push 0x429fc4
push eax
call fcn.004098e0
mov byte [ebp - 0x8774], 0
pop ecx
pop ecx
cmp dword [ebp + 0x24], 0x58
jne 0x4074ae
lea eax, [ebp - 0x86f4]
lea ebx, [ebp - 0x8674]
push ebx
push eax
push str._s:_s
push dword [ebp + 0x18]
call fcn.0040b2b0
add esp, 0x10
mov eax, 0xffffffa8
jmp 0x407932
mov byte [ebp - 0x638], 0
lea eax, [ebp - 0x638]
push eax
call fcn.00407136
cmp eax, 0xffffffff
pop ecx
jne 0x4074d3
mov eax, 0xfffffffb
jmp 0x407932
cmp byte [ebp - 0x638], 0
jne 0x4074e6
mov eax, 0xfffffffa
jmp 0x407932
lea eax, [ebp - 0x638]
push str.127.0.0.1
push eax
call fcn.00409960
test eax, eax
pop ecx
pop ecx
jne 0x407507
mov eax, 0xfffffff9
jmp 0x407932
lea eax, [ebp - 0x538]
push 1
push str.User_Agent
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push reloc.WSOCK32.dll_accept
push eax
push 1
push 0
call fcn.00406783
add esp, 0x1c
test eax, eax
jne 0x40754c
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x638]
push str.User_Agent:__s_r_n
push eax
call fcn.0040b2b0
add esp, 0xc
jmp 0x407553
mov byte [ebp - 0x638], 0
lea eax, [ebp - 0x86f4]
mov word [ebp - 0x438], 2
push eax
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0x434], eax
lea eax, [ebp - 0x8674]
push eax
call fcn.0040c420
pop ecx
push eax
call sub.WSOCK32.dll_htons
push 6
push 1
push 2
mov word [ebp - 0x436], ax
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [ebp - 0x8778], eax
jne 0x4075a5
jmp 0x407898
push 0
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x86f4]
xor esi, esi
push eax
call fcn.004098c0
test eax, eax
pop ecx
jbe 0x407601
mov al, byte [ebp + esi - 0x86f4]
movsx edx, al
movzx ecx, dl
movzx edx, byte [ecx + 0x42a860]
and edx, 0x10
test edx, edx
jne 0x4075ef
cmp al, 0x2e
je 0x4075ef
mov dword [ebp - 0x8780], 1
lea eax, [ebp - 0x86f4]
inc esi
push eax
call fcn.004098c0
cmp esi, eax
pop ecx
jb 0x4075c3
push 0
push 0x3a98
push 0x421
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [ebp - 0x8780], 0
je 0x407641
lea eax, [ebp - 0x86f4]
lea ecx, [ebp - 0x428]
push 0x400
push ecx
push eax
push 0x406
push dword [ebp + 0xc]
call sub.WSOCK32.dll_WSAAsyncGetHostByName
jmp 0x407653
push 0
push 0
push 0x406
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_PostMessageA]
lea eax, [ebp - 0x28]
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x40792d
mov edx, dword [ebp - 0x24]
mov edi, edx
mov eax, edi
sub eax, 0x113
je 0x407685
sub eax, 0x2f3
je 0x407697
jmp 0x407905
cmp dword [ebp - 0x20], 0x421
jne 0x407915
jmp 0x407898
cmp dword [ebp - 0x8780], 0
je 0x4076e6
mov eax, dword [ebp - 0x1c]
shr eax, 0x10
and eax, 0xffff
test ax, ax
je 0x4076b2
jmp 0x407719
lea esi, [ebp - 0x428]
test esi, esi
jne 0x4076c6
mov eax, 0xfffffffc
jmp 0x407932
movsx eax, word [esi + 0xa]
mov edx, dword [esi + 0xc]
push eax
lea eax, [ebp - 0x438]
add eax, 4
push dword [edx]
push eax
call fcn.00409b20
add esp, 0xc
jmp 0x4076fe
lea eax, [ebp - 0x86f4]
push eax
call sub.WSOCK32.dll_inet_addr
test eax, eax
mov dword [ebp - 0x434], eax
sbb eax, eax
neg eax
lea eax, [ebp - 0x438]
push 0x10
push eax
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
jne 0x407723
mov eax, 0xfffffffd
jmp 0x407932
cmp dword [ebp + 0x1c], 0
jle 0x407755
lea eax, [ebp - 0x648]
push str.POST
push eax
call fcn.004098e0
lea eax, [ebp - 0x668]
pop ecx
pop ecx
push dword [ebp + 0x1c]
push str.Content_length:__d_r_n
push eax
call fcn.0040b2b0
add esp, 0xc
jmp 0x407775
lea eax, [ebp - 0x648]
push 0x42a058
push eax
call fcn.004098e0
mov eax, dword [ebp + 0x18]
pop ecx
mov byte [ebp - 0x668], 0
pop ecx
mov byte [eax], 0
lea eax, [ebp - 0x668]
lea ecx, [ebp - 0x8774]
push eax
lea eax, [ebp - 0x638]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x648]
push dword [ebp + 0x14]
push ecx
push eax
lea eax, [ebp - 0x8668]
push str._s__s_s_HTTP_1.0_r_nAccept:___r_nAccept_Encoding:_gzip__deflate_r_nPragma:_no_cache_r_n_sHost:__s_r_n_s_r_n
push eax
call fcn.0040b2b0
lea eax, [ebp - 0x8668]
add esp, 0x20
push eax
call fcn.004098c0
cmp dword [ebp + 0x1c], 0
pop ecx
mov edi, eax
jle 0x4077d7
lea eax, [ebp - 0x8668]
add eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push eax
call fcn.00409b20
add esp, 0xc
mov edx, edi
lea eax, [ebp - 0x8668]
add edx, dword [ebp + 0x1c]
push 0
push edx
push eax
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_send
push dword [ebp + 0x20]
call fcn.0040c4c0
xor edi, edi
pop ecx
mov esi, eax
mov ecx, dword [ebp + 0x20]
add edi, ebx
lea eax, [edi + esi]
sub ecx, edi
push 0
push ecx
push eax
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_recv
mov ebx, eax
test ebx, ebx
jg 0x4077fe
push str._r_n_r_n
push esi
call fcn.00409a30
mov dword [ebp - 0x877c], eax
pop ecx
cmp byte [esi + 9], 0x32
pop ecx
jne 0x40783a
test eax, eax
jne 0x40784e
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_closesocket
push esi
call fcn.0040c510
pop ecx
jmp 0x407898
mov eax, dword [ebp - 0x877c]
mov dword [ebp - 0x8784], eax
add dword [ebp - 0x8784], 4
sub dword [ebp - 0x8784], esi
cmp dword [ebp + 0x24], 0
jne 0x4078c3
mov ebx, esi
add ebx, dword [ebp - 0x8784]
push 0x427c06
push ebx
call fcn.00409a30
test eax, eax
pop ecx
pop ecx
jne 0x4078a2
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_closesocket
push esi
call fcn.0040c510
pop ecx
mov eax, 0xffffffff
jmp 0x407932
mov ecx, eax
mov edx, edi
sub ecx, ebx
sub edx, dword [ebp - 0x8784]
add ecx, 8
sub edx, ecx
push edx
lea edx, [eax + 8]
push edx
push dword [ebp + 0x18]
call fcn.00409b20
add esp, 0xc
cmp dword [ebp + 0x24], 1
jne 0x4078e9
mov eax, dword [ebp - 0x877c]
mov ecx, edi
add eax, 4
sub ecx, dword [ebp - 0x8784]
push ecx
push eax
push dword [ebp + 0x18]
call fcn.00409b20
add esp, 0xc
push dword [ebp - 0x8778]
call sub.WSOCK32.dll_closesocket
push esi
call fcn.0040c510
mov eax, edi
pop ecx
sub eax, dword [ebp - 0x8784]
jmp 0x407932
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push edx
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_DefWindowProcA]
lea eax, [ebp - 0x28]
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x40766b
mov eax, 0xffffff91
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret