Function at 0x45b3f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x528e93
mov eax, dword fs:[0]
push eax
mov eax, 0x6284
call fcn.004f50c0
mov eax, dword [0x581980]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
xor ebx, ebx
push ebx
mov eax, 0x5641f8
mov edi, ecx
mov dword [ebp - 0x6284], esi
call fcn.00403af0
lea eax, [ebp - 0x6278]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, ebx
jne 0x45b692
push 0x400
lea ecx, [ebp - 0x6010]
push ebx
push ecx
call fcn.004f50f0
add esp, 0xc
push 0x400
lea edx, [ebp - 0x1010]
push ebx
push edx
call fcn.004f50f0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x1810]
push ebx
push eax
call fcn.004f50f0
add esp, 0xc
lea ecx, [ebp - 0x1010]
push ecx
lea edx, [ebp - 0x6010]
push edx
push edi
lea edx, [ebp - 0x1810]
lea ecx, [ebp - 0x627c]
call fcn.0045c590
xor eax, eax
mov word [ebp - 0x602c], ax
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x6018], 7
mov dword [ebp - 0x601c], ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x45b4d4
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x1010]
lea esi, [ebp - 0x602c]
call fcn.00403af0
mov ecx, esi
push ecx
lea edi, [ebp - 0x6048]
mov dword [ebp - 4], ebx
call fcn.00457030
mov edi, 0x10
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x45b515
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov esi, eax
cmp dword [ebp - 0x6034], edi
jb 0x45b535
mov edx, dword [ebp - 0x6048]
push edx
call fcn.004f287e
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x6018], 8
mov dword [ebp - 0x6034], 0xf
mov dword [ebp - 0x6038], ebx
mov byte [ebp - 0x6048], 0
jb 0x45b56b
mov eax, dword [ebp - 0x602c]
push eax
call fcn.004f287e
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x6018], 7
mov dword [ebp - 0x601c], ebx
mov word [ebp - 0x602c], cx
cmp esi, ebx
je 0x45b692
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
xor ecx, ecx
mov edx, 2
mov dword [ebp - 0x6058], ecx
push eax
mov dword [ebp - 0x6054], ecx
mov dword [ebp - 0x6050], ecx
mov dword [ebp - 0x604c], ecx
mov word [ebp - 0x6058], dx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x6054], eax
mov eax, dword [ebp - 0x627c]
push eax
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov ebx, 1
push ebx
push 2
mov word [ebp - 0x6056], ax
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0x627c], edi
cmp edi, 0xffffffff
je 0x45b692
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea ecx, [ebp - 0x6288]
push ecx
push 4
push 0xffff
push edi
mov dword [ebp - 0x6288], ebx
call esi
push 4
lea edx, [ebp - 0x6280]
push edx
push 0x1006
push 0xffff
push edi
mov dword [ebp - 0x6280], 0xbb8
call esi
push 4
lea eax, [ebp - 0x6280]
push eax
push 0x1005
push 0xffff
push edi
call esi
push 4
lea ecx, [ebp - 0x628c]
push ecx
push 0x1002
push 0xffff
push edi
mov dword [ebp - 0x628c], 0x8000
call esi
push 0x10
lea edx, [ebp - 0x6058]
push edx
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x45b699
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
xor eax, eax
jmp 0x45bc1c
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.004f50f0
add esp, 0xc
push 0x56480c
lea ecx, [ebp - 0x60c8]
call fcn.0040a4f0
mov eax, 0x564810
lea ecx, [ebp - 0x6048]
mov dword [ebp - 4], ebx
call fcn.00403be0
lea ecx, [ebp - 0x6048]
push ecx
lea edi, [ebp - 0x602c]
mov byte [ebp - 4], 2
call fcn.00457030
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x45b6f3
mov eax, dword [eax]
lea edx, [ebp - 0x410]
sub edx, eax
jmp 0x45b700
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, ebx
test cl, cl
jne 0x45b700
lea ecx, [ebp - 0x602c]
call fcn.00403c70
lea esi, [ebp - 0x6048]
mov byte [ebp - 4], 1
call fcn.00402850
lea edi, [ebp - 0x410]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b730
mov dx, word [0x56e53c]
lea eax, [ebp - 0x1810]
lea ecx, [ebp - 0x6048]
mov word [edi], dx
call fcn.00403be0
lea eax, [ebp - 0x6048]
push eax
lea edi, [ebp - 0x602c]
mov byte [ebp - 4], 3
call fcn.00457030
mov ebx, 0x10
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45b778
mov eax, dword [eax]
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b780
lea edi, [ebp - 0x410]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45b790
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x602c]
call fcn.00403c70
lea esi, [ebp - 0x6048]
mov byte [ebp - 4], 1
call fcn.00402850
lea eax, [ebp - 0x410]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45b7d0
mov ecx, dword [str._HTTP_1.1_r_n]
mov edx, dword [0x56e544]
mov dword [eax], ecx
mov ecx, dword [0x56e548]
lea edi, [ebp - 0x410]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b800
mov ecx, 6
mov esi, str.Connection:_Keep_Alive_r_n
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x410]
movsb byte es:[edi], byte [esi]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45b820
mov edx, dword [str.Accept:___r_n]
mov ecx, dword [0x56e56c]
mov dword [eax], edx
mov edx, dword [0x56e570]
mov dword [eax + 4], ecx
mov cx, word [0x56e574]
lea edi, [ebp - 0x410]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b854
mov ecx, 6
mov esi, str.Accept_Language:_en_us_r_n
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x410]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b870
mov ecx, 6
mov esi, str.Accept_Encoding:_default_r_n
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x410]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b890
cmp dword [ebp - 0x60b8], 0
mov ecx, 0x33
mov esi, str.User_Agent:_Mozilla_4.0__compatible__MSIE_8.0__Windows_NT_6.1__WOW64__Trident_5.0__SLCC2__.NET_CLR_2.0.50727__.NET_CLR_3.5.30729__.NET_CLR_3.0.30729__Media_Center_PC_7.0__InfoPath.2__.NET4.0C__.NET4.0E__r_n
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jbe 0x45b928
lea edi, [ebp - 0x410]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45b8b5
mov ecx, 0xc
mov esi, str.Content_Type:_application_x_www_form_urlencoded_r_n
rep movsd dword es:[edi], dword [esi]
push 0x400
lea edx, [ebp - 0x810]
push 0
push edx
movsw word es:[edi], word [esi]
call fcn.004f50f0
add esp, 0xc
push 0
lea eax, [ebp - 0x810]
push str.Content_Length:__ld_r_n
push eax
call fcn.004f485d
lea eax, [ebp - 0x810]
add esp, 0xc
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x45b900
lea edi, [ebp - 0x410]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45b912
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x410]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45b930
mov ecx, dword [str.Host:]
mov dx, word [0x56e6d0]
mov dword [eax], ecx
mov cl, byte [0x56e6d2]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [ebp - 0x1010]
lea ecx, [ebp - 0x6048]
call fcn.00403be0
lea edx, [ebp - 0x6048]
push edx
lea edi, [ebp - 0x602c]
mov byte [ebp - 4], 4
call fcn.00457030
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45b985
mov eax, dword [eax]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b987
lea edi, [ebp - 0x410]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45b997
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x602c]
call fcn.00403c70
lea esi, [ebp - 0x6048]
mov byte [ebp - 4], 1
call fcn.00402850
lea eax, [ebp - 0x410]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45b9d0
mov ecx, dword [0x56e6d4]
mov dl, byte [0x56e6d8]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b9f2
mov ecx, dword [ebp - 0x627c]
push 0
sub eax, edx
push eax
lea eax, [ebp - 0x410]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x45ba29
lea ecx, [ebp - 0x60c8]
call fcn.00403c70
xor eax, eax
jmp 0x45bc1c
push 0x200000
call fcn.004f1ede
add esp, 4
push 0x200000
mov edi, eax
push 0
push edi
call fcn.004f50f0
add esp, 0xc
push 0x4000
lea edx, [ebp - 0x5810]
push 0
push edx
call fcn.004f50f0
mov ecx, dword [ebp - 0x627c]
mov ebx, dword [sym.imp.WS2_32.dll_recv]
add esp, 0xc
push 0
push 0x4000
lea eax, [ebp - 0x5810]
push eax
push ecx
call ebx
mov esi, eax
test esi, esi
je 0x45bafe
cmp esi, 0xffffffff
je 0x45ba17
test esi, esi
jle 0x45bacb
push esi
lea edx, [ebp - 0x5810]
push edx
push edi
call fcn.004f4900
add esp, 0xc
cmp byte [ebp + esi - 0x5811], 0xa
jne 0x45bac3
cmp byte [ebp + esi - 0x5812], 0xd
jne 0x45bac3
cmp byte [ebp + esi - 0x5813], 0xa
jne 0x45bac3
cmp byte [ebp + esi - 0x5814], 0xd
je 0x45bafe
cmp esi, 0x4000
jl 0x45bafe
push 0x4000
lea eax, [ebp - 0x5810]
push 0
push eax
call fcn.004f50f0
mov edx, dword [ebp - 0x627c]
add esp, 0xc
push 0
push 0x4000
lea ecx, [ebp - 0x5810]
push ecx
push edx
call ebx
mov esi, eax
test esi, esi
jne 0x45ba81
push edi
call fcn.00456fc0
add esp, 4
push eax
push 0x5648f4
lea eax, [ebp - 0x6074]
call fcn.004578e0
add esp, 8
lea eax, [ebp - 0x6074]
push eax
mov edx, str._r_n_r_n
mov byte [ebp - 4], 5
call fcn.004034a0
mov edi, eax
push edi
xor ecx, ecx
lea esi, [ebp - 0x60ac]
lea edx, [ebp - 0x6074]
call fcn.00459480
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6064]
push ecx
lea ecx, [edi + 4]
lea esi, [ebp - 0x60e4]
lea edx, [ebp - 0x6074]
call fcn.00459480
mov eax, 0x5641f8
lea ecx, [ebp - 0x6090]
mov byte [ebp - 4], 7
call fcn.00403be0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x60ac]
mov esi, 8
cmp dword [ebp - 0x6098], esi
jae 0x45bb96
lea eax, [ebp - 0x60ac]
push eax
call fcn.0045c8a0
test eax, eax
je 0x45bbc0
mov eax, dword [ebp - 0x60e4]
cmp dword [ebp - 0x60d0], esi
jae 0x45bbb4
lea eax, [ebp - 0x60e4]
push eax
lea ecx, [ebp - 0x6090]
call fcn.0045cad0
mov eax, dword [ebp - 0x6090]
cmp dword [ebp - 0x607c], esi
jae 0x45bbd4
lea eax, [ebp - 0x6090]
mov edx, dword [ebp - 0x6284]
push edx
call fcn.004020f0
lea esi, [ebp - 0x6090]
call fcn.00402850
lea esi, [ebp - 0x60e4]
call fcn.00402850
lea esi, [ebp - 0x60ac]
call fcn.00402850
lea esi, [ebp - 0x6074]
call fcn.00402850
lea ecx, [ebp - 0x60c8]
call fcn.00403c70
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f2889
mov esp, ebp
pop ebp
ret