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

Disassembly:
push 0x184
mov eax, 0x52c5db
call fcn.004e4785
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 0x433621
lea ecx, [ebp - 0xa8]
test esi, esi
jne 0x4335d2
call fcn.004508c1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
jmp 0x4335f8
call fcn.0045093d
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.00451c16
test al, al
je 0x4336a9
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00451c53
push eax
lea ecx, [ebp - 0x28]
call fcn.00427b0f
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.00427b8c
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0
call fcn.00423eb7
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x40]
call fcn.00426565
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.00431b59
cmp eax, 0xffffffff
je 0x433660
push 0
push eax
lea ecx, [ebp - 0x40]
call fcn.00431af8
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 0x5ad118
push str._s:__s__proxy:_use:__d__set:__S
push 1
push 0
call fcn.0043a05d
mov eax, dword [ebp - 0x18]
add esp, 0x1c
test eax, eax
je 0x4336dd
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
jmp 0x4336df
cmp esi, 2
jne 0x433612
push 0x1d9
push 0x5ad118
push str._s:_d:_usePsiphonLocalProxy_is_PsiphonProxy::REQUIRE_but__tunneledProxyConfig.HTTPEnabled__
push 1
push 0
call fcn.0043a05d
add esp, 0x14
lea ecx, [ebp - 0xa8]
call fcn.00423eb7
jmp 0x433a77
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 0x433737
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.0043a05d
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00427b8c
push ebx
jmp 0x433a79
mov eax, 0x7530
push eax
push eax
push eax
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
jne 0x433771
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.0043a05d
add esp, 0x10
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x433726
mov dword [ebp - 0xcc], 0x800
test bl, bl
jne 0x4337a3
push 4
lea eax, [ebp - 0xcc]
push eax
push 0x54
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x4337a3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetOption_WINHTTP_OPTION_SECURE_PROTOCOLS_failed___d_
jmp 0x433758
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 0x4337d3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpConnect_failed___d_
jmp 0x433758
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x4337f3
cmp dword [ebp - 0xc0], 0
mov ecx, 0x5ad3e8
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 0x433852
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.0043a05d
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
add esp, 0x10
jmp 0x433a65
push 4
lea eax, [ebp - 0xd0]
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x43388e
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.0043a05d
add esp, 0x10
jmp 0x433a5c
push 0
push 0xffffffffffffffff
push 0x432a82
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp eax, 0xffffffff
jne 0x4338b1
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetStatusCallback_failed___d_
jmp 0x433874
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 0x433956
push 1
push 3
lea ecx, [ebp - 0x190]
call fcn.0042456b
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.00419540
add esp, 0xc
push eax
call fcn.00419540
add esp, 0xc
mov ecx, eax
call fcn.00414f08
pop ecx
push eax
call fcn.00419540
pop ecx
pop ecx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x190]
call fcn.00424520
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x43393f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040ea4b
push 0x5d8be0
lea eax, [ebp - 0x64]
push eax
call fcn.004fd7fa
push str.Connection:_close_r_n
lea ecx, [ebp - 0x58]
call fcn.00426565
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 4], 9
test eax, eax
je 0x433988
push eax
call fcn.0042653e
pop ecx
push eax
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x58]
push eax
call fcn.00424bf2
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xd4]
lea ecx, [eax + 0x14]
cmp ecx, edx
je 0x4339ab
push 0xffffffffffffffff
push 0
push edx
call fcn.00416c90
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x94]
mov byte [eax + 0x10], 0
call fcn.004203e2
mov ecx, dword [ebp - 0xb0]
add ecx, 0x2c
push eax
mov dword [ebp - 0xb4], ecx
call fcn.00433bee
lea ecx, [ebp - 0x78]
call fcn.00423f4f
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00416ab1
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 0x433aa8
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.0043a05d
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00427b8c
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.00427b8c
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00427b8c
xor al, al
call fcn.004e472f
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 0x433aff
mov eax, dword [ebp - 0xb0]
push 0x64
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp eax, 0x102
je 0x433a8d
test eax, eax
je 0x433b43
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.00427b8c
mov byte [ebp - 0xa9], 0
jmp 0x433bbf
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.00427b8c
jmp 0x433a65
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 0x433a50
push dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
call fcn.00433bee
lea ecx, [ebp - 0x94]
call fcn.004203e2
mov ecx, dword [ebp - 0xb4]
push eax
call fcn.00433bee
lea ecx, [ebp - 0x78]
call fcn.00423f4f
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00416ab1
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00427b8c
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.00427b8c
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00427b8c
mov al, byte [ebp - 0xa9]
jmp 0x433a85