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

Disassembly:
push 0x184
mov eax, 0x52c82b
call fcn.004e49d2
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 0x433661
lea ecx, [ebp - 0xa8]
test esi, esi
jne 0x433612
call fcn.00450a49
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
jmp 0x433638
call fcn.00450ac5
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.00451d9e
test al, al
je 0x4336e9
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00451ddb
push eax
lea ecx, [ebp - 0x28]
call fcn.00427b2c
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.00427ba9
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0
call fcn.00423ed4
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x40]
call fcn.00426582
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.00431b99
cmp eax, 0xffffffff
je 0x4336a0
push 0
push eax
lea ecx, [ebp - 0x40]
call fcn.00431b38
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 0x5b17b8
push str._s:__s__proxy:_use:__d__set:__S
push 1
push 0
call fcn.0043a0a0
mov eax, dword [ebp - 0x18]
add esp, 0x1c
test eax, eax
je 0x43371d
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
jmp 0x43371f
cmp esi, 2
jne 0x433652
push 0x1d9
push 0x5b17b8
push str._s:_d:_usePsiphonLocalProxy_is_PsiphonProxy::REQUIRE_but__tunneledProxyConfig.HTTPEnabled__
push 1
push 0
call fcn.0043a0a0
add esp, 0x14
lea ecx, [ebp - 0xa8]
call fcn.00423ed4
jmp 0x433ab7
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 0x433777
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.0043a0a0
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00427ba9
push ebx
jmp 0x433ab9
mov eax, 0x7530
push eax
push eax
push eax
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
jne 0x4337b1
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.0043a0a0
add esp, 0x10
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x433766
mov dword [ebp - 0xcc], 0x800
test bl, bl
jne 0x4337e3
push 4
lea eax, [ebp - 0xcc]
push eax
push 0x54
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x4337e3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetOption_WINHTTP_OPTION_SECURE_PROTOCOLS_failed___d_
jmp 0x433798
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 0x433813
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpConnect_failed___d_
jmp 0x433798
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x433833
cmp dword [ebp - 0xc0], 0
mov ecx, 0x5b1a88
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 0x433892
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.0043a0a0
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
add esp, 0x10
jmp 0x433aa5
push 4
lea eax, [ebp - 0xd0]
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x4338ce
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.0043a0a0
add esp, 0x10
jmp 0x433a9c
push 0
push 0xffffffffffffffff
push 0x432ac2
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp eax, 0xffffffff
jne 0x4338f1
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.WinHttpSetStatusCallback_failed___d_
jmp 0x4338b4
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 0x433996
push 1
push 3
lea ecx, [ebp - 0x190]
call fcn.00424588
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.0042453d
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x43397f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040ea4b
push 0x5dd368
lea eax, [ebp - 0x64]
push eax
call fcn.004fda0a
push str.Connection:_close_r_n
lea ecx, [ebp - 0x58]
call fcn.00426582
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 4], 9
test eax, eax
je 0x4339c8
push eax
call fcn.0042655b
pop ecx
push eax
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x58]
push eax
call fcn.00424c0f
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xd4]
lea ecx, [eax + 0x14]
cmp ecx, edx
je 0x4339eb
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.00433c2e
lea ecx, [ebp - 0x78]
call fcn.00423f6c
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 0x433ae8
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.0043a0a0
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
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.00427ba9
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00427ba9
xor al, al
call fcn.004e497c
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 0x433b3f
mov eax, dword [ebp - 0xb0]
push 0x64
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp eax, 0x102
je 0x433acd
test eax, eax
je 0x433b83
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.00427ba9
mov byte [ebp - 0xa9], 0
jmp 0x433bff
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.00427ba9
jmp 0x433aa5
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 0x433a90
push dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
call fcn.00433c2e
lea ecx, [ebp - 0x94]
call fcn.004203e2
mov ecx, dword [ebp - 0xb4]
push eax
call fcn.00433c2e
lea ecx, [ebp - 0x78]
call fcn.00423f6c
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00416ab1
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00427ba9
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.00427ba9
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00427ba9
mov al, byte [ebp - 0xa9]
jmp 0x433ac5