Function at 0x10001a40
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 0x10001a97
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 0x10001b39
push 0x1000dc8c
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
jne 0x10001ab8
push 0x1000dc8c
call dword [sym.imp.WS2_32.dll_gethostbyname]
jmp 0x10001ac7
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 0x10001b0e
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 0x10001ad2
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 0x10002214
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 0x10002214
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 0x10001c4b
lea ecx, [esp + 0x13c]
push ecx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x10001c4b
mov edx, dword [esp + 0x13c]
test edx, edx
jbe 0x10001c39
lea ecx, [esp + 0x140]
cmp dword [ecx], esi
je 0x10001c0c
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001bee
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 0x10001c31
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 0x10001c1a
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
mov eax, dword [esp + 0x748]
push 0x1000e3b8
push eax
push 0x1000e2b0
push 0x1000e290
push 0x1000e5e4
push str.hostscan
lea ecx, [esp + 0x258]
push str.regname_sregmailbox_slocation_suuid_sipaddr_susername_s
push ecx
call fcn.1000495c
lea edi, [esp + 0x260]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x260]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
push ecx
push str.hostscan
push 0x1000dc8c
lea eax, [esp + 0x570]
push str.POST_http:___s_softonline_user__s_softonline.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 eax
call fcn.1000495c
lea edi, [esp + 0x578]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x38
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0
push ecx
lea ecx, [esp + 0x548]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x10002214
lea edx, [esp + 0x18]
lea eax, [esp + 0x38]
push edx
push 0
push 0
push eax
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 0x10001d84
lea ecx, [esp + 0x38]
push ecx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x10001d84
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10001d72
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10001d4e
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001d30
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 0x10001d6d
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 0x10001d59
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 0x10001df8
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x10001de6
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10001dc2
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001da4
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 0x10001de1
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 0x10001dcd
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 0x10001e6b
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10001e59
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10001e35
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001e17
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 0x10001e54
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 0x10001e40
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 0x10001f11
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x100021ac
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10001edb
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001ebd
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 0x10001efa
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 0x10001ee6
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 0x10002209
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 0x100021f0
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 0x10002025
lea eax, [esp + 0x38]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x10002025
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x10002013
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10001fef
inc eax
add ecx, 4
cmp eax, edx
jb 0x10001fd1
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 0x1000200e
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 0x10001ffa
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 0x1000209d
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x1000208b
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002067
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002049
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 0x10002086
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 0x10002072
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 0x10002110
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x100020fe
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x100020da
inc eax
add ecx, 4
cmp eax, edx
jb 0x100020bc
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 0x100020f9
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 0x100020e5
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 0x100021c2
mov edx, dword [esp + 0x38]
xor eax, eax
test edx, edx
jbe 0x100021ac
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
cmp dword [ecx], esi
je 0x10002176
inc eax
add ecx, 4
cmp eax, edx
jb 0x10002158
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 0x10002195
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 0x10002181
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]
mov edx, dword [0x1000eaf0]
lea ecx, [esp + 0x340]
push ecx
push 0
push 0xc
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret