Function at 0x433186
Capabilities:
Initialize winhttp library
Prepare http request

Disassembly:
push 0x184
mov eax, 0x52c36b
call fcn.004e4550
mov edi, ecx
mov dword [ebp - 0xb0], edi
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x18]
mov bl, byte [ebp + 0x24]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [edx]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx]
push 1
push dword [edx + 4]
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd8], edx
mov byte [ebp - 0xa9], bl
call dword [eax]
xor eax, eax
mov dword [ebp - 0x14], 7
cmp dword [esi + 0x10], eax
mov ecx, 0x3100
cmova eax, ecx
and dword [ebp - 0x18], 0
mov dword [ebp - 0xd0], eax
xor eax, eax
mov word [ebp - 0x28], ax
and dword [ebp - 4], eax
mov esi, dword [ebp + 0x1c]
test bl, bl
jne 0x433291
lea ecx, [ebp - 0xa8]
test esi, esi
jne 0x433242
call fcn.00450623
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
jmp 0x433268
call fcn.0045069f
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.00451978
test al, al
je 0x433319
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xa8]
call fcn.004519b5
push eax
lea ecx, [ebp - 0x28]
call fcn.0042777d
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.004277fa
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0
call fcn.00423b25
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x40]
call fcn.004261d3
push 1
push 0
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xc4], 0x3f
call fcn.004317c9
cmp eax, 0xffffffff
je 0x4332d0
push 0
push eax
lea ecx, [ebp - 0x40]
call fcn.00431768
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
mov edx, str.false
mov eax, str.true
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x18], 0
cmove eax, edx
push eax
push esi
push ecx
push 0x5b0a60
push str._s:__s__proxy:_use:__d__set:__S
push 1
push 0
call fcn.00439ccd
mov eax, dword [ebp - 0x18]
add esp, 0x1c
test eax, eax
je 0x43334d
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
jmp 0x43334f
cmp esi, 2
jne 0x433282
push 0x1d9
push 0x5b0a60
push str._s:_d:_usePsiphonLocalProxy_is_PsiphonProxy::REQUIRE_but__tunneledProxyConfig.HTTPEnabled__
push 1
push 0
call fcn.00439ccd
add esp, 0x14
lea ecx, [ebp - 0xa8]
call fcn.00423b25
jmp 0x4336e7
xor ecx, ecx
push 0x10000000
neg eax
push 0
sbb eax, eax
push ecx
and eax, 3
push eax
push str.Mozilla_4.0__compatible__MSIE_5.22_
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov esi, eax
mov dword [ebp - 0xc4], esi
mov byte [ebp - 4], 4
test esi, esi
jne 0x4333a7
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
movzx eax, byte [edi + 4]
xor ebx, ebx
push str.WinHttpOpen_failed___d_
push eax
push ebx
call fcn.00439ccd
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.004277fa
push ebx
jmp 0x4336e9
mov eax, 0x7530
push eax
push eax
push eax
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
jne 0x4333e1
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetTimeouts_failed___d_
movzx eax, byte [edi + 4]
xor ebx, ebx
push eax
push ebx
call fcn.00439ccd
add esp, 0x10
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x433396
mov dword [ebp - 0xcc], 0x800
test bl, bl
jne 0x433413
push 4
lea eax, [ebp - 0xcc]
push eax
push 0x54
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x433413
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetOption_WINHTTP_OPTION_SECURE_PROTOCOLS_failed___d_
jmp 0x4333c8
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xc8]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ebx, eax
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 4], 5
test ebx, ebx
jne 0x433443
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpConnect_failed___d_
jmp 0x4333c8
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x433463
cmp dword [ebp - 0xc0], 0
mov ecx, 0x5b0d30
mov eax, str.POST
cmove eax, ecx
mov ecx, eax
xor edx, edx
mov eax, 0x800000
cmp byte [ebp - 0xa9], dl
cmovne eax, edx
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xbc]
push ecx
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0xbc], edi
mov byte [ebp - 4], 6
test edi, edi
jne 0x4334c2
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
mov eax, dword [ebp - 0xb0]
push str.WinHttpOpenRequest_failed___d_
movzx eax, byte [eax + 4]
push eax
push edi
call fcn.00439ccd
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
add esp, 0x10
jmp 0x4336d5
push 4
lea eax, [ebp - 0xd0]
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x4334fe
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetOption_WINHTTP_OPTION_SECURITY_FLAGS_failed___d_
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 4]
push eax
push 0
call fcn.00439ccd
add esp, 0x10
jmp 0x4336cc
push 0
push 0xffffffffffffffff
push 0x4326f2
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp eax, 0xffffffff
jne 0x433521
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetStatusCallback_failed___d_
jmp 0x4334e4
xor eax, eax
push eax
push eax
push 1
push eax
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + 0xc], eax
test eax, eax
jne 0x4335c6
push 1
push 3
lea ecx, [ebp - 0x190]
call fcn.004241d9
push str.:_CreateEvent_failed._Out_of_memory
push ecx
push 0x253
push ecx
push 0x550cc4
push ecx
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 7
push str.HTTPSRequest::MakeRequestWithURLProxyOption
push eax
call fcn.004191b0
add esp, 0xc
push eax
call fcn.004191b0
add esp, 0xc
mov ecx, eax
call fcn.00414b78
pop ecx
push eax
call fcn.004191b0
pop ecx
pop ecx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x190]
call fcn.0042418e
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x4335af
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040e6bb
push 0x5dc580
lea eax, [ebp - 0x64]
push eax
call fcn.004fd5aa
push str.Connection:_close_r_n
lea ecx, [ebp - 0x58]
call fcn.004261d3
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 4], 9
test eax, eax
je 0x4335f8
push eax
call fcn.004261ac
pop ecx
push eax
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x58]
push eax
call fcn.00424860
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xd4]
lea ecx, [eax + 0x14]
cmp ecx, edx
je 0x43361b
push 0xffffffffffffffff
push 0
push edx
call fcn.00416900
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x94]
mov byte [eax + 0x10], 0
call fcn.00420050
mov ecx, dword [ebp - 0xb0]
add ecx, 0x2c
push eax
mov dword [ebp - 0xb4], ecx
call fcn.0043385e
lea ecx, [ebp - 0x78]
call fcn.00423bbd
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00416721
push dword [ebp - 0xb0]
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push dword [ebp + 0x30]
cmovae eax, dword [ebp - 0x58]
push dword [ebp + 0x30]
push dword [ebp - 0xc0]
push dword [ebp - 0x48]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
mov eax, dword [ebp - 0xb0]
jne 0x433718
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [ebp - 0xb0]
and dword [eax + 0xc], 0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
mov eax, dword [ebp - 0xb0]
push str.WinHttpSendRequest_failed___d_
movzx eax, byte [eax + 4]
push eax
push 0
call fcn.00439ccd
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.004277fa
push edi
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
push ebx
call edi
push esi
call edi
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.004277fa
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.004277fa
xor al, al
call fcn.004e44fa
ret 0x30
mov edx, dword [ebp - 0xd8]
push 0
mov ecx, dword [edx]
push dword [edx + 4]
mov eax, dword [ecx]
call dword [eax]
test eax, eax
jne 0x43376f
mov eax, dword [ebp - 0xb0]
push 0x64
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp eax, 0x102
je 0x4336fd
test eax, eax
je 0x4337b3
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov edi, dword [ebp - 0xb0]
push 0xffffffffffffffff
push dword [edi + 0xc]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push dword [edi + 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
and dword [edi + 0xc], 0
lea ecx, [ebp - 0x58]
push 0
push 1
call fcn.004277fa
mov byte [ebp - 0xa9], 0
jmp 0x43382f
push edi
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
mov eax, dword [ebp - 0xb0]
push 0xffffffffffffffff
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [ebp - 0xb0]
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x58]
push 0
push 1
and dword [eax + 0xc], 0
call fcn.004277fa
jmp 0x4336d5
mov eax, dword [ebp - 0xb0]
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [ebp - 0xb0]
and dword [eax + 0xc], 0
cmp byte [eax + 0x10], 0
je 0x4336c0
push dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
call fcn.0043385e
lea ecx, [ebp - 0x94]
call fcn.00420050
mov ecx, dword [ebp - 0xb4]
push eax
call fcn.0043385e
lea ecx, [ebp - 0x78]
call fcn.00423bbd
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00416721
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.004277fa
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov byte [ebp - 0xa9], 1
push ebx
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call ebx
push esi
call ebx
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.004277fa
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.004277fa
mov al, byte [ebp - 0xa9]
jmp 0x4336f5