Function at 0x10002390
Capabilities:
Connect socket
Connect udp socket
Create udp socket
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
sub esp, 0x730
mov eax, dword [0x1000d47c]
push ebx
push ebp
push esi
push edi
mov edi, 1
xor ebp, ebp
cmp eax, edi
mov dword [esp + 0x18], 0xa
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], edi
jne 0x100023e7
push str.221.142.244.144
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x2c], eax
mov ax, word [0x1000d474]
push eax
mov word [esp + 0x2c], 2
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
jmp 0x10002489
push 0x1000dc8c
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
jne 0x10002408
push 0x1000dc8c
call dword [sym.imp.WS2_32.dll_gethostbyname]
jmp 0x10002417
push 2
lea ecx, [esp + 0x24]
push 4
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyaddr]
mov ebx, eax
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
cmp eax, ebp
je 0x1000245e
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
add ebp, 4
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + ebp]
test eax, eax
jne 0x10002422
lea edx, [esp + 0x240]
push edx
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x50
mov dword [esp + 0x30], eax
mov word [esp + 0x2c], 2
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov edi, 1
push 0
push 0
push 0
push 0
push edi
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
je 0x10002b3f
mov ebp, dword [sym.imp.WS2_32.dll_ioctlsocket]
lea eax, [esp + 0x24]
push eax
push 0x8004667e
push esi
call ebp
cmp eax, 0xffffffff
je 0x10002b3f
push 0
push 0
push 8
push 6
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x38]
push 0x10
push ecx
push esi
mov dword [esp + 0x15c], esi
mov dword [esp + 0x158], edi
call dword [sym.imp.WS2_32.dll_WSAConnect]
mov ebx, dword [sym.imp.WS2_32.dll_select]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x140]
push 0
push eax
push 0
push edi
call ebx
test esi, esi
je 0x1000259b
lea ecx, [esp + 0x13c]
push ecx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x1000259b
mov edx, dword [esp + 0x13c]
test edx, edx
jbe 0x10002589
lea ecx, [esp + 0x140]
cmp dword [ecx], esi
je 0x1000255c
inc eax
add ecx, 4
cmp eax, edx
jb 0x1000253e
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002581
lea ecx, [esp + eax*4 + 0x140]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x13c]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x1000256a
dec edx
mov dword [esp + 0x13c], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
push str.hostscan
lea eax, [esp + 0x244]
push str.regname_s
push eax
call fcn.1000495c
lea ecx, [esp + 0x24c]
lea edi, [esp + 0x24c]
push ecx
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x550]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1000dc8c
push str.POST_http:___s_softonline_setting_softonline_timeinter.php_HTTP_1.0_r_nFrom:_local_r_nUser_Agent:_SmartySoftOnline_2.0_r_nContent_Type:_application_x_www_form_urlencoded_r_nContent_Length:__d_r_n_r_n_s
push edx
call fcn.1000495c
lea edi, [esp + 0x560]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x20
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0
lea eax, [esp + 0x544]
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x10002b3f
lea ecx, [esp + 0x18]
lea edx, [esp + 0x38]
push ecx
push 0
push 0
push edx
push 1
mov dword [esp + 0x2c], 0xa
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], 1
call ebx
test esi, esi
je 0x100026b3
lea eax, [esp + 0x38]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x100026b3
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x100026a1
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x1000267d
inc eax
add ecx, 4
cmp eax, edx
jb 0x1000265f
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x1000269c
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x10002688
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea eax, [esp + 0x14]
push eax
push 0x4004667f
push esi
call ebp
cmp eax, 0xffffffff
jne 0x10002727
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x10002715
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x100026f1
inc eax
add ecx, 4
cmp eax, edx
jb 0x100026d3
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002710
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x100026fc
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov eax, dword [esp + 0x14]
push eax
call fcn.100048d0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x1000279a
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10002788
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002764
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002746
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002783
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x1000276f
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov edi, 0x1000d46c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, dword [sym.imp.WS2_32.dll_recv]
mov eax, ecx
mov esi, edi
mov edi, ebp
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
push ecx
push ebp
push edx
call ebx
cmp eax, 0xffffffff
jne 0x10002840
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x10002adb
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x1000280a
inc eax
add ecx, 4
cmp eax, edx
jb 0x100027ec
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002829
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x10002815
dec edx
push esi
mov dword [esp + 0x3c], edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov eax, dword [esp + 0x14]
push str.HTTP_1.1_200_OK
push ebp
mov byte [eax + ebp], 0
call fcn.10004850
add esp, 8
test eax, eax
je 0x10002b34
push str._r_n_r_n
push ebp
call fcn.10004850
mov edx, eax
mov edi, str._r_n_r_n
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebp, [esp + 0x348]
add edx, ecx
or ecx, 0xffffffff
mov edi, edx
push 0x1000d46c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x34c]
mov edx, ecx
mov esi, edi
mov edi, ebp
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.10008cc0
add esp, 0x10
test eax, eax
jne 0x10002b1f
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
push eax
lea edx, [esp + 0x40]
push eax
push edx
push 1
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], 1
call dword [sym.imp.WS2_32.dll_select]
test esi, esi
je 0x10002954
lea eax, [esp + 0x38]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x10002954
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10002942
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x1000291e
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002900
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x1000293d
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x10002929
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea eax, [esp + 0x14]
push eax
push 0x4004667f
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x100029cc
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x100029ba
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002996
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002978
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x100029b5
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x100029a1
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov eax, dword [esp + 0x14]
push eax
call fcn.100048d0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x10002a3f
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10002a2d
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002a09
inc eax
add ecx, 4
cmp eax, edx
jb 0x100029eb
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002a28
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x10002a14
dec edx
mov dword [esp + 0x38], edx
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov edi, 0x1000d46c
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
push ecx
push ebp
push edx
call ebx
cmp eax, 0xffffffff
jne 0x10002af1
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x10002adb
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002aa5
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002a87
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
lea ecx, [edx - 1]
cmp eax, ecx
jae 0x10002ac4
lea ecx, [esp + eax*4 + 0x3c]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
add ecx, 4
lea edi, [edx - 1]
cmp eax, edi
jb 0x10002ab0
dec edx
push esi
mov dword [esp + 0x3c], edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov eax, dword [esp + 0x14]
mov edi, ebp
or ecx, 0xffffffff
lea edx, [esp + 0x340]
mov byte [eax + ebp], 0
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x340]
push ecx
call fcn.10004a47
add esp, 4
mov dword [0x1000e2a8], eax
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret