Function at 0x14005d4f0
Capabilities:
Initialize winhttp library

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
mov rbp, rsp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, rcx
xor ecx, ecx
neg r9b
sbb r15d, r15d
mov dword [rax + 0x20], ecx
and r15d, 0x10000000
test rdx, rdx
je 0x14005d820
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x14005d820
lea rcx, [rsi + 0x18]
call qword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
mov rcx, qword [rsi + 0x20]
xor r8d, r8d
mov edx, eax
mov dword [rsp + 0x34], eax
mov r10d, 1
test rcx, rcx
je 0x14005d567
mov ebx, r10d
cmp word [rcx], r8w
jne 0x14005d56a
mov ebx, r8d
lea r12, [rsi + 0x28]
mov rax, qword [r12]
test rax, rax
je 0x14005d580
mov r13d, r10d
cmp word [rax], r8w
jne 0x14005d583
mov r13d, r8d
lea r14, [rsi + 0x30]
mov rax, qword [r14]
test rax, rax
je 0x14005d59a
mov dword [rsp + 0x30], r10d
cmp word [rax], r8w
jne 0x14005d59f
mov dword [rsp + 0x30], r8d
test edx, edx
je 0x14005d689
cmp dword [rsi + 0x18], r8d
jne 0x14005d689
test ebx, ebx
jne 0x14005d689
test r13d, r13d
je 0x14005d638
mov ebx, 3
lea rdx, str.CWinHttpProxyHandler::InitSession_detected_named_proxy__s__bypass__s
mov r9, r14
mov ecx, ebx
mov r8, r12
call fcn.14005d9f0
cmp dword [rsp + 0x30], 0
je 0x14005d5e3
mov r9, qword [r14]
jmp 0x14005d5e6
xor r9d, r9d
mov r8, qword [r12]
mov rcx, qword [rbp + 0x20]
mov edx, ebx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x28], eax
test eax, eax
je 0x14005d623
lea r8, [rbp + 0x28]
lea rdx, str.CWinHttpProxyHandler::InitSession_failed_in_WinHttpOpen_with_named_proxy__error__d
mov ecx, 2
call fcn.14005da90
mov eax, dword [rbp + 0x28]
cmp qword [rdi], 0
jne 0x14005d825
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14005d825
lea rdx, str.CWinHttpProxyHandler::InitSession_detected_no_proxy
mov ecx, 3
call fcn.14005db20
mov rcx, qword [rbp + 0x20]
xor r9d, r9d
lea edx, [r9 + 1]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x28], eax
test eax, eax
je 0x14005d623
lea r8, [rbp + 0x28]
lea rdx, str.CWinHttpProxyHandler::InitSession_failed_in_WinHttpOpen_with_no_proxy__error__d
mov ecx, 2
call fcn.14005dba8
jmp 0x14005d620
mov rcx, qword [rbp + 0x20]
xor r9d, r9d
mov edx, r10d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x28], eax
test eax, eax
je 0x14005d6c3
lea r8, [rbp + 0x28]
lea rdx, str.CWinHttpProxyHandler::InitSession_failed_in_WinHttpOpen_with_no_proxy__error__d
mov ecx, 2
call fcn.14005dba8
xor eax, eax
cmp qword [rdi], rax
je 0x14005d62d
cmp dword [rsp + 0x34], eax
je 0x14005d705
test ebx, ebx
je 0x14005d705
lea r9, [rsi + 0x20]
mov ebx, 3
lea rdx, str.CWinHttpProxyHandler::InitSession_detected_proxy__s_auto_config_URL__s
mov rax, qword [r9]
mov r8, r12
mov ecx, ebx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 2
call fcn.14005dc38
jmp 0x14005d729
mov ebx, 3
lea rdx, str.CWinHttpProxyHandler::InitSession_detected_proxy_auto_detect
mov dword [rsp + 0x38], 1
mov ecx, ebx
mov dword [rsp + 0x3c], ebx
mov qword [rsp + 0x40], rax
call fcn.14005dcd4
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rdi]
lea r8, [rsp + 0x38]
mov r9, rsi
mov dword [rsp + 0x54], 1
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
cmp eax, 1
jne 0x14005d7a9
mov ecx, ebx
cmp dword [rsi], ebx
jne 0x14005d767
lea r9, [rsi + 0x10]
lea r8, [rsi + 8]
lea rdx, str.CWinHttpProxyHandler::InitSession_setting_proxy_option_proxy_name__s__bypass__s
call fcn.14005dd5c
jmp 0x14005d786
cmp dword [rsi], 0
jne 0x14005d77a
lea rdx, str.CWinHttpProxyHandler::InitSession_setting_default_proxy_option
call fcn.1400410f0
jmp 0x14005d786
lea rdx, str.CWinHttpProxyHandler::InitSession_setting_no_proxy_option
call fcn.14005ddf8
mov rcx, qword [rdi]
mov r9d, 0x18
mov r8, rsi
lea edx, [r9 + 0xe]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x14005d62d
mov eax, dword [rbp + 0x28]
jmp 0x14005d825
xor esi, esi
cmp dword [rsp + 0x34], esi
je 0x14005d7a4
test r13d, r13d
je 0x14005d7a4
lea rdx, str.CWinHttpProxyHandler::InitSession_using_no_proxy__on_fallback_
mov ecx, ebx
call fcn.1400410f0
mov rcx, qword [rdi]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [rsp + 0x30], esi
je 0x14005d7d8
mov r9, qword [r14]
jmp 0x14005d7db
mov r9, rsi
mov r8, qword [r12]
mov rcx, qword [rbp + 0x20]
mov edx, ebx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x28], eax
test eax, eax
je 0x14005d818
lea r8, [rbp + 0x28]
lea rdx, str.CWinHttpProxyHandler::InitSession_failed_in_WinHttpOpen_with_no_proxy__error__d
mov ecx, 2
call fcn.14005dba8
mov eax, dword [rbp + 0x28]
cmp qword [rdi], rsi
jmp 0x14005d627
mov eax, 0x57
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret