Function at 0x1400aaa28
Capabilities:
Initialize winhttp library

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2a0
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov rax, qword [0x1401d3050]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov r12, r9
mov r14, rdx
mov dword [rsp + 0x58], r8d
mov r13, qword [rsp + 0x300]
mov eax, dword [rsp + 0x308]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0xb0], rax
xor edi, edi
mov qword [rsp + 0x48], rdi
movdqa xmm0, xmmword [0x14017f2c0]
movdqu xmmword [rsp + 0x198], xmm0
mov word [rsp + 0x188], di
movdqu xmmword [rsp + 0x178], xmm0
mov word [rsp + 0x168], di
movdqu xmmword [rsp + 0x158], xmm0
mov word [rsp + 0x148], di
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x40], edi
lea rcx, str.DisableConnectionReuse
call fcn.1400289d4
movzx ecx, byte [rsp + 0x310]
test eax, eax
cmovne ecx, edi
mov dword [rsp + 0x70], ecx
lea r15d, [rdi + 1]
test cl, cl
jne 0x1400aab20
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov ecx, dword [0x1401dd3e0]
test ecx, ecx
jne 0x1400aab16
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov eax, dword [0x1401dd3e0]
mov dword [rsp + 0x40], eax
or rsi, 0xffffffffffffffff
test r14, r14
je 0x1400aabc0
movdqa xmm0, xmmword [0x14017f2c0]
movdqu xmmword [rsp + 0x1b8], xmm0
mov word [rsp + 0x1a8], di
mov r8, rsi
inc r8
cmp word [r14 + r8*2], di
jne 0x1400aab49
mov rdx, r14
lea rcx, [rsp + 0x1a8]
call fcn.14001c6b0
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x188]
call fcn.14001cabc
mov rax, qword [rsp + 0x1c0]
cmp rax, 8
jb 0x1400aabc0
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1a8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400aabb9
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400aabb9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
test r12, r12
je 0x1400aac5c
movdqa xmm0, xmmword [0x14017f2c0]
movdqu xmmword [rsp + 0x1d8], xmm0
mov word [rsp + 0x1c8], di
mov r8, rsi
inc r8
cmp word [r12 + r8*2], di
jne 0x1400aabe5
mov rdx, r12
lea rcx, [rsp + 0x1c8]
call fcn.14001c6b0
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x168]
call fcn.14001cabc
mov rax, qword [rsp + 0x1e0]
cmp rax, 8
jb 0x1400aac5c
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1c8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400aac55
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400aac55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
test r13, r13
je 0x1400aad00
movdqa xmm0, xmmword [0x14017f2c0]
movdqu xmmword [rsp + 0x1f8], xmm0
mov word [rsp + 0x1e8], di
mov r8, rsi
inc r8
cmp word [r13 + r8*2], di
jne 0x1400aac81
mov rdx, r13
lea rcx, [rsp + 0x1e8]
call fcn.14001c6b0
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x148]
call fcn.14001cabc
mov rax, qword [rsp + 0x200]
cmp rax, 8
jb 0x1400aad00
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1e8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400aacf2
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400aacf2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
nop dword [rax]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x168]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x60]
call fcn.1400abbb4
nop
lea rax, [0x1401dd3d8]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], edi
mov rcx, qword [0x1401dd3d8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov eax, r15d
lock xadd dword [rsp + 0x88], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0xf8]
call fcn.1400ab870
mov rbx, qword [rax]
cmp byte [rsp + 0x70], dil
jne 0x1400aae74
cmp rbx, qword [0x1401dd3b8]
je 0x1400aae74
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov ecx, dword [0x1401dd3e0]
test ecx, ecx
jne 0x1400aadbd
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov eax, dword [0x1401dd3e0]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x168]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x118]
call fcn.1400abbb4
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14003b34c
mov rbx, qword [rsp + 0x120]
test rbx, rbx
je 0x1400aae5a
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400aae5a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400aae5a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x100]
call fcn.1400ab870
mov rbx, qword [rax]
jmp 0x1400aad90
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x1400aae9d
mov eax, esi
lock xadd dword [rsp + 0x88], eax
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x1400aae74
cmp rbx, qword [0x1401dd3b8]
jne 0x1400ab20c
lea rax, [0x1401dd3d0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rdi
mov rcx, qword [0x1401dd3d0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, r15d
lock xadd dword [rsp + 0x98], eax
test eax, eax
jne 0x1400aaef8
cmp dword [rsp + 0x9c], edi
jne 0x1400ab428
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rsp + 0x9c], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x108]
call fcn.1400ab870
mov rbx, qword [rax]
cmp byte [rsp + 0x70], dil
jne 0x1400aaffc
cmp rbx, qword [0x1401dd3b8]
je 0x1400ab009
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov ecx, dword [0x1401dd3e0]
test ecx, ecx
jne 0x1400aaf45
mov eax, r15d
lock xadd dword [0x1401dd3e0], eax
mov eax, dword [0x1401dd3e0]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x168]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x128]
call fcn.1400abbb4
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14003b34c
mov rbx, qword [rsp + 0x130]
test rbx, rbx
je 0x1400aafe2
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400aafe2
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400aafe2
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x110]
call fcn.1400ab870
mov rbx, qword [rax]
jmp 0x1400aaf18
cmp rbx, qword [0x1401dd3b8]
jne 0x1400ab1f6
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9, r13
mov r8, r12
mov edx, dword [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa0]
call fcn.1400abcac
nop
cmp qword [rsp + 0x48], rdi
je 0x1400ab1ac
cmp qword [rsp + 0xa0], rdi
je 0x1400ab1a0
lea rax, [rsp + 0x210]
mov qword [rsp + 0x70], rax
mov r14, qword [rsp + 0x60]
mov eax, dword [r14]
mov dword [rsp + 0x210], eax
mov eax, dword [r14 + 4]
mov dword [rsp + 0x214], eax
lea rdx, [r14 + 8]
mov qword [rsp + 0x228], rdi
mov qword [rsp + 0x230], rdi
lea rcx, [rsp + 0x218]
call fcn.14002218c
nop
lea rdx, [r14 + 0x28]
mov qword [rsp + 0x248], rdi
mov qword [rsp + 0x250], rdi
lea rcx, [rsp + 0x238]
call fcn.14002218c
nop
mov eax, dword [r14 + 0x48]
mov dword [rsp + 0x258], eax
lea rdx, [r14 + 0x50]
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x270], xmm0
lea rcx, [rsp + 0x260]
call fcn.14002218c
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x280], xmm0
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400ab10e
lock add dword [rcx + 8], r15d
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
lea rdx, [rsp + 0x210]
call fcn.1400abd3c
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x138]
call fcn.1400abe28
nop
mov r14, qword [rsp + 0x288]
test r14, r14
je 0x1400ab191
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400ab191
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400ab191
nop
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
lea rcx, [rsp + 0x210]
call fcn.1400ab4b0
jmp 0x1400ab1b1
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov qword [rsp + 0x48], rdi
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x1400ab1f6
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400ab1f6
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400ab1f6
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
lea rcx, [rsp + 0x90]
call fcn.1400279b0
cmp rbx, qword [0x1401dd3b8]
je 0x1400ab224
mov rcx, qword [rbx + 0x90]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x48], rax
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
mov rbx, qword [rsp + 0x68]
cmp qword [rsp + 0x48], rdi
je 0x1400ab299
test rbx, rbx
je 0x1400ab23f
lock add dword [rbx + 8], r15d
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
mov qword [rcx], rax
mov r14, qword [rcx + 8]
mov qword [rcx + 8], rbx
test r14, r14
je 0x1400ab299
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400ab294
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400ab294
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400ab2d4
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400ab2d4
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140007d11.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400ab2d4
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov eax, dword [rsp + 0x78]
jmp 0x1400ab2e8
test eax, eax
jns 0x1400ab39d
lea rcx, str.SH_ErrorCode
mov qword [rsp + 0xc0], rcx
mov dword [rsp + 0xc8], eax
mov word [rsp + 0xcc], di
lea rax, [0x14012d388]
mov qword [rsp + 0xb8], rax
lea rax, str.Message
mov qword [rsp + 0xd8], rax
lea rax, str.Exception_was_thrown
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xe8], di
lea rax, [0x14012d360]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, str._CWinHttpSessionManager__WinHttpOpen
mov qword [rsp + 0x20], rax
mov ecx, 0x7e325d
mov r8d, 0xa
call fcn.140093628
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400ab39d
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x160]
cmp rax, 8
jb 0x1400ab3e5
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400ab3de
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400ab3de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea rcx, [rsp + 0x168]
call fcn.140005860
lea rcx, [rsp + 0x188]
call fcn.140005860
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140118d00
nop
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140007884
nop
jmp 0x1400ab437
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x40], rbx
mov rdi, rcx
mov rbx, qword [rcx + 0x78]
test rbx, rbx
je 0x1400ab49a
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400ab49a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140007d11.0]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400ab49a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.1400ab4b0