Function at 0x1400db278
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 [0x1401cd010]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbx, r9
mov qword [rsp + 0x90], rbx
mov r12, rdx
mov dword [rsp + 0x58], r8d
mov rsi, qword [rsp + 0x300]
mov qword [rsp + 0xa8], rsi
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 [0x140186810]
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 r13d, edi
mov dword [rsp + 0x40], edi
lea rcx, str.DisableConnectionReuse
call fcn.140012470
movzx r14d, byte [rsp + 0x310]
test eax, eax
cmovne r14d, edi
lea r15d, [rdi + 1]
test r14b, r14b
jne 0x1400db37e
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov ecx, dword [0x1401d2ce8]
test ecx, ecx
jne 0x1400db374
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov eax, dword [0x1401d2ce8]
mov dword [rsp + 0x40], eax
test r12, r12
je 0x1400db410
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rsp + 0x1b8], xmm0
mov word [rsp + 0x1a8], di
mov rdx, r12
lea rcx, [rsp + 0x1a8]
call fcn.140007920
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x188]
call fcn.140009df0
mov rax, qword [rsp + 0x1c0]
cmp rax, 8
jb 0x1400db410
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1a8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400db406
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400db406
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]
test rbx, rbx
je 0x1400db49f
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rsp + 0x1d8], xmm0
mov word [rsp + 0x1c8], di
mov rdx, rbx
lea rcx, [rsp + 0x1c8]
call fcn.140007920
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x168]
call fcn.140009df0
mov rax, qword [rsp + 0x1e0]
cmp rax, 8
jb 0x1400db49f
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1c8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400db498
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400db498
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 rsi, rsi
je 0x1400db52e
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rsp + 0x1f8], xmm0
mov word [rsp + 0x1e8], di
mov rdx, rsi
lea rcx, [rsp + 0x1e8]
call fcn.140007920
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x148]
call fcn.140009df0
mov rax, qword [rsp + 0x200]
cmp rax, 8
jb 0x1400db52e
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1e8]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400db527
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400db527
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 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.1400dc2e0
nop
lea rax, [0x1401d2ce0]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], edi
mov rcx, qword [0x1401d2ce0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov eax, r15d
lock xadd dword [rsp + 0x78], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0xf8]
call fcn.1400dbfb8
mov rbx, qword [rax]
or esi, 0xffffffff
test r14b, r14b
jne 0x1400db69a
cmp rbx, qword [0x1401d2cc0]
je 0x1400db69a
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov ecx, dword [0x1401d2ce8]
test ecx, ecx
jne 0x1400db5e3
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov eax, dword [0x1401d2ce8]
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.1400dc2e0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14002b2e4
mov rbx, qword [rsp + 0x120]
test rbx, rbx
je 0x1400db680
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400db680
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400db680
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x100]
call fcn.1400dbfb8
mov rbx, qword [rax]
jmp 0x1400db5b6
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x1400db6ba
mov eax, esi
lock xadd dword [rsp + 0x78], eax
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x1400db69a
cmp rbx, qword [0x1401d2cc0]
jne 0x1400dba0c
lea rax, [0x1401d2cd8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdi
mov rcx, qword [0x1401d2cd8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, r15d
lock xadd dword [rsp + 0x88], eax
test eax, eax
jne 0x1400db715
cmp dword [rsp + 0x8c], edi
jne 0x1400dbc9e
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rsp + 0x8c], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x108]
call fcn.1400dbfb8
mov rbx, qword [rax]
test r14b, r14b
jne 0x1400db817
cmp rbx, qword [0x1401d2cc0]
je 0x1400db824
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov ecx, dword [0x1401d2ce8]
test ecx, ecx
jne 0x1400db760
mov eax, r15d
lock xadd dword [0x1401d2ce8], eax
mov eax, dword [0x1401d2ce8]
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.1400dc2e0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14002b2e4
mov rbx, qword [rsp + 0x130]
test rbx, rbx
je 0x1400db7fd
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400db7fd
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400db7fd
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x110]
call fcn.1400dbfb8
mov rbx, qword [rax]
jmp 0x1400db733
cmp rbx, qword [0x1401d2cc0]
jne 0x1400db9f6
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0x58]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x98]
call fcn.1400dc3b8
nop
cmp qword [rsp + 0x48], rdi
je 0x1400db9ac
cmp qword [rsp + 0x98], rdi
je 0x1400db9a0
lea rax, [rsp + 0x210]
mov qword [rsp + 0x90], 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]
lea rcx, [rsp + 0x218]
call fcn.140007a9c
nop
lea rdx, [r14 + 0x28]
lea rcx, [rsp + 0x238]
call fcn.140007a9c
nop
mov eax, dword [r14 + 0x48]
mov dword [rsp + 0x258], eax
lea rdx, [r14 + 0x50]
lea rcx, [rsp + 0x260]
call fcn.140007a9c
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x280], xmm0
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x1400db90a
lock add dword [rcx + 8], r15d
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
lea rdx, [rsp + 0x210]
call fcn.1400dc43c
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x138]
call fcn.1400dc518
nop
mov r14, qword [rsp + 0x288]
test r14, r14
je 0x1400db991
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400db991
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400db991
nop word [rax + rax]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
lea rcx, [rsp + 0x210]
call fcn.1400dbd1c
jmp 0x1400db9b1
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov qword [rsp + 0x48], rdi
mov r14, qword [rsp + 0xa0]
test r14, r14
je 0x1400db9f6
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400db9f6
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400db9f6
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
lea rcx, [rsp + 0x80]
call fcn.14001144c
cmp rbx, qword [0x1401d2cc0]
je 0x1400dba24
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 0x1400dba99
test rbx, rbx
je 0x1400dba3f
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 0x1400dba99
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x1400dba94
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x1400dba94
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400dbad4
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1400dbad4
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1400dbad4
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
jmp 0x1400dbae6
test r13d, r13d
jns 0x1400dbb9d
lea rax, str.SH_ErrorCode
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], r13d
mov word [rsp + 0xcc], di
lea rax, [0x14013c1c8]
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, [0x14013c2d8]
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.1400bc658
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400dbb9d
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x160]
cmp rax, 8
jb 0x1400dbbe5
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400dbbde
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400dbbde
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
mov rax, qword [rsp + 0x180]
cmp rax, 8
jb 0x1400dbc2d
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x168]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400dbc26
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400dbc26
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
mov rax, qword [rsp + 0x1a0]
cmp rax, 8
jb 0x1400dbc75
mov rcx, qword [rsp + 0x188]
mov rdx, rcx
lea rax, [rax*2 + 2]
cmp rax, 0x1000
jb 0x1400dbc6e
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400dbc6e
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
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.14012aa20
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.14000ad28
nop
jmp 0x1400dbcad
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 0x1400dbd0a
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400dbd0a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400dbd0a
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp fcn.1400dbd1c