Function at 0x4197f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1208
call fcn.00432680
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x1208]
mov ecx, 0x482
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x460280]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov esi, esp
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp esi, esp
call fcn.0043234a
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], eax
push 0x10
push 0
lea eax, [ebp - 0x24]
push eax
call fcn.00432b00
add esp, 0xc
mov word [ebp - 0x24], 2
mov dword [ebp - 0x20], 0
mov word [ebp - 0x22], 0
mov esi, esp
push 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_bind]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x30], 1
mov esi, esp
lea eax, [ebp - 0x30]
push eax
push 0x8004667e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp esi, esp
call fcn.0043234a
mov esi, esp
push 0x10
mov eax, dword [ebp - 0xc]
add eax, 0x10
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_connect]
cmp esi, esp
call fcn.0043234a
mov esi, esp
push 0x33
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x1044], 0
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x105c], 0
mov dword [ebp - 0x1068], 0
mov byte [ebp - 0x1071], 0
mov dword [ebp - 0x1080], 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x46c]
test ecx, ecx
je 0x419a44
push str.excute_http_request__need_parse_xml_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x46d]
test ecx, ecx
jne 0x4199b6
push 0x24
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x448
push eax
call fcn.00432b00
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x40]
push ecx
call fcn.00433220
add esp, 4
mov dword [ebp - 0x108c], eax
mov eax, dword [ebp - 0x108c]
add eax, 1
push eax
call fcn.00431bf3
add esp, 4
mov dword [ebp - 0x1204], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1204]
mov dword [ecx + 0x450], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x450]
push eax
call fcn.00431d50
add esp, 8
jmp 0x4199ed
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x454], 0
je 0x4199ed
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x454]
mov dword [ebp - 0x11f8], ecx
mov edx, dword [ebp - 0x11f8]
push edx
call fcn.004323ff
add esp, 4
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x454], 0
push 0
call fcn.004436e0
add esp, 4
mov dword [ebp - 0x1080], eax
mov eax, dword [ebp - 0xc]
add eax, 0x448
push eax
mov ecx, dword [ebp - 0x1080]
push ecx
call fcn.0043cd90
add esp, 8
push 0x41a170
push 0x41a0b0
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043cdb0
add esp, 0xc
push 0x41a210
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043cdd0
add esp, 8
jmp 0x419a58
push str.excute_http_request__no_need_parse_xml_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
mov dword [ebp - 0x1098], 0x3e8
mov dword [ebp - 0x10a4], 0
mov eax, dword [ebp - 0xc]
add eax, 0x44
push eax
push str.send_request:__r_n_s_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0x10
mov eax, 1
test eax, eax
je 0x419f81
mov eax, dword [ebp - 0x10a4]
add eax, 1
mov dword [ebp - 0x10a4], eax
cmp dword [ebp - 0x10a4], 0x3e8
jl 0x419ac8
push str.count___1000__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp esi, esp
call fcn.0043234a
mov esi, esp
lea eax, [ebp - 0x10d8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
cmp esi, esp
call fcn.0043234a
mov eax, dword [ebp - 0x10d8]
and eax, 0x10
je 0x419b31
cmp dword [ebp - 0x10c4], 0
je 0x419b31
push str.connect_fail__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1044]
cmp ecx, dword [eax + 0x444]
jge 0x419bd7
mov esi, esp
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x444]
sub ecx, dword [ebp - 0x1044]
push ecx
mov edx, dword [ebp - 0x1044]
mov eax, dword [ebp - 0xc]
lea ecx, [eax + edx + 0x44]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x10e4], eax
cmp dword [ebp - 0x10e4], 0
jge 0x419bbc
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.0043234a
cmp eax, 0x2733
je 0x419bba
push str.send_fail__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
jmp 0x419bd7
cmp dword [ebp - 0x10e4], 0
jle 0x419bd7
mov eax, dword [ebp - 0x1044]
add eax, dword [ebp - 0x10e4]
mov dword [ebp - 0x1044], eax
mov eax, dword [ebp - 0x10d8]
and eax, 1
je 0x419f6f
mov esi, esp
push 0
movzx eax, byte [ebp - 0x1071]
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x1068]
mov ecx, 0x1000
sub ecx, eax
sub ecx, 1
push ecx
movzx edx, byte [ebp - 0x1071]
neg edx
sbb edx, edx
not edx
and edx, dword [ebp - 0x1068]
lea eax, [ebp + edx - 0x1038]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp esi, esp
call fcn.0043234a
mov dword [ebp - 0x10f0], eax
cmp dword [ebp - 0x10f0], 0
jle 0x419f38
mov eax, dword [ebp - 0x10f0]
mov byte [ebp + eax - 0x1038], 0
movzx eax, byte [ebp - 0x1071]
test eax, eax
je 0x419cfc
lea eax, [ebp - 0x1038]
push eax
push str.reponse_data:__r_n_s_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0x10
mov eax, dword [ebp - 0x105c]
add eax, dword [ebp - 0x10f0]
mov dword [ebp - 0x105c], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x46c]
test ecx, ecx
je 0x419cf7
cmp dword [ebp - 0x1080], 0
je 0x419cf7
mov eax, dword [ebp - 0x105c]
sub eax, dword [ebp - 0x1050]
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, dword [ebp - 0x10f0]
push ecx
lea edx, [ebp - 0x1038]
push edx
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043ecb0
add esp, 0x10
test eax, eax
jne 0x419cf7
push str.xml_parse_error__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
jmp 0x419f36
mov eax, dword [ebp - 0x1068]
add eax, dword [ebp - 0x10f0]
mov dword [ebp - 0x1068], eax
mov eax, dword [ebp - 0x1068]
mov byte [ebp + eax - 0x1038], 0
lea eax, [ebp - 0x1038]
push eax
push str.reponse_data:__r_n_s_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0x10
push str._r_n_r_n
lea eax, [ebp - 0x1038]
push eax
call fcn.00418400
add esp, 8
mov dword [ebp - 0x10fc], eax
cmp dword [ebp - 0x10fc], 0
jne 0x419d5f
jmp 0x419a87
mov eax, dword [ebp - 0x10fc]
add eax, 4
lea ecx, [ebp - 0x1038]
sub eax, ecx
mov dword [ebp - 0x1108], eax
mov eax, dword [ebp - 0x10fc]
mov byte [eax + 2], 0
push str.Content_Length:
lea eax, [ebp - 0x1038]
push eax
call fcn.00418400
add esp, 8
mov dword [ebp - 0x1114], eax
cmp dword [ebp - 0x1114], 0
jne 0x419db7
push str.no_content_length_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
cmp dword [ebp - 0x1114], 0
je 0x419e6c
push 0x457798
mov eax, dword [ebp - 0x1114]
push eax
call fcn.00418400
add esp, 8
mov dword [ebp - 0x1120], eax
cmp dword [ebp - 0x1120], 0
jne 0x419e00
push str.content_length_no_CR__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
mov dword [ebp - 0x112c], 0xf
mov eax, dword [ebp - 0x1114]
add eax, dword [ebp - 0x112c]
movsx ecx, byte [eax]
cmp ecx, 0x20
jne 0x419e2f
mov eax, dword [ebp - 0x112c]
add eax, 1
mov dword [ebp - 0x112c], eax
jmp 0x419e0a
mov eax, dword [ebp - 0x1114]
add eax, dword [ebp - 0x112c]
push eax
call fcn.004336b0
add esp, 4
mov dword [ebp - 0x1050], eax
cmp dword [ebp - 0x1050], 0
jne 0x419e6c
push str.0_content_length__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
mov eax, dword [ebp - 0x1050]
push eax
push str.get_response__body_length___d_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0x10
mov byte [ebp - 0x1071], 1
mov eax, dword [ebp - 0x1068]
cmp eax, dword [ebp - 0x1108]
jbe 0x419f36
mov eax, dword [ebp - 0x1068]
sub eax, dword [ebp - 0x1108]
push eax
mov ecx, dword [ebp - 0x1108]
lea edx, [ebp + ecx - 0x1038]
push edx
lea eax, [ebp - 0x1038]
push eax
call fcn.00432db0
add esp, 0xc
mov eax, dword [ebp - 0x1068]
sub eax, dword [ebp - 0x1108]
mov dword [ebp - 0x105c], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x46c]
test ecx, ecx
je 0x419f36
mov eax, dword [ebp - 0x105c]
sub eax, dword [ebp - 0x1050]
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, dword [ebp - 0x105c]
push ecx
lea edx, [ebp - 0x1038]
push edx
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043ecb0
add esp, 0x10
test eax, eax
jne 0x419f36
push str.parser_xml_error___2___goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
jmp 0x419f6f
cmp dword [ebp - 0x10f0], 0
jne 0x419f43
jmp 0x419f81
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.0043234a
cmp eax, 0x2733
je 0x419f6f
push str.read_error__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
mov eax, dword [ebp - 0x10d8]
and eax, 0x20
je 0x419f7c
jmp 0x419f81
jmp 0x419a87
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x448], 0
jne 0x419fb1
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x46d]
test ecx, ecx
jne 0x419fb1
push str.no_control_url__goto_error_r_n
push 0x40
push 0x462328
call fcn.00401280
add esp, 0xc
jmp 0x419fed
cmp dword [ebp - 0x1080], 0
je 0x419fc9
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043eb60
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp esi, esp
call fcn.0043234a
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xc], 0xffffffff
mov al, 1
jmp 0x41a027
cmp dword [ebp - 0x1080], 0
je 0x41a005
mov eax, dword [ebp - 0x1080]
push eax
call fcn.0043eb60
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp esi, esp
call fcn.0043234a
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xc], 0xffffffff
xor al, al
push edx
mov ecx, ebp
push eax
lea edx, [0x41a054]
call fcn.0043236d
pop eax
pop edx
mov ecx, dword [ebp - 4]
call fcn.00432663
pop edi
pop esi
pop ebx
add esp, 0x1208
cmp ebp, esp
call fcn.0043234a
mov esp, ebp
pop ebp
ret