Function at 0x140100004
Capabilities:
Initialize winhttp library

Disassembly:
mov rax, rsp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x2a0
mov qword [rax - 0x1d0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1403bf028]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rsi, r9
mov qword [rsp + 0xb0], r9
mov rbx, rdx
mov qword [rsp + 0x98], rdx
mov dword [rsp + 0x58], r8d
mov r9, qword [rsp + 0x2f0]
mov qword [rsp + 0x90], r9
mov eax, dword [rsp + 0x2f8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0xb8], rax
xor edi, edi
mov qword [rsp + 0x48], rdi
movdqa xmm0, xmmword [0x140333fe0]
movdqu xmmword [rsp + 0x1a0], xmm0
mov word [rsp + 0x190], di
movdqu xmmword [rsp + 0x180], xmm0
mov word [rsp + 0x170], di
movdqu xmmword [rsp + 0x160], xmm0
mov word [rsp + 0x150], di
mov r13d, edi
mov dword [rsp + 0x40], edi
lea rcx, str.DisableConnectionReuse
call fcn.14008d270
movzx r14d, byte [rsp + 0x300]
test eax, eax
cmovne r14d, edi
lea r15d, [rdi + 1]
test r14b, r14b
jne 0x140100114
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov ecx, dword [0x1403cf4e8]
test ecx, ecx
jne 0x14010010a
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov eax, dword [0x1403cf4e8]
mov dword [rsp + 0x40], eax
test rbx, rbx
je 0x1401001a6
movdqa xmm0, xmmword [0x140333fe0]
movdqu xmmword [rsp + 0x1c0], xmm0
mov word [rsp + 0x1b0], di
mov rdx, rbx
lea rcx, [rsp + 0x1b0]
call fcn.14000b3a4
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x190]
call fcn.14000b27c
mov rax, qword [rsp + 0x1c8]
cmp rax, 8
jb 0x1401001a6
nop dword [rax]
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1b0]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1401001a0
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x1401009e3
call fcn.140261814
nop
test rsi, rsi
je 0x140100231
movdqa xmm0, xmmword [0x140333fe0]
movdqu xmmword [rsp + 0x1e0], xmm0
mov word [rsp + 0x1d0], di
mov rdx, rsi
lea rcx, [rsp + 0x1d0]
call fcn.14000b3a4
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x170]
call fcn.14000b27c
mov rax, qword [rsp + 0x1e8]
cmp rax, 8
jb 0x140100231
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1d0]
mov rdx, rcx
cmp rax, 0x1000
jb 0x14010022b
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x1401009ec
call fcn.140261814
nop
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1401002c4
movdqa xmm0, xmmword [0x140333fe0]
movdqu xmmword [rsp + 0x200], xmm0
mov word [rsp + 0x1f0], di
mov rdx, rax
lea rcx, [rsp + 0x1f0]
call fcn.14000b3a4
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x150]
call fcn.14000b27c
mov rax, qword [rsp + 0x208]
cmp rax, 8
jb 0x1401002c4
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x1f0]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1401002be
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x1401009f5
call fcn.140261814
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x60]
call fcn.140100fe0
nop
lea rax, [0x1403cf4e0]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], edi
mov rcx, qword [0x1403cf4e0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov eax, r15d
lock xadd dword [rsp + 0x78], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x100]
call fcn.140100d80
mov rbx, qword [rax]
or esi, 0xffffffff
test r14b, r14b
jne 0x140100430
cmp rbx, qword [0x1403cf4c0]
je 0x140100430
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov ecx, dword [0x1403cf4e8]
test ecx, ecx
jne 0x140100379
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov eax, dword [0x1403cf4e8]
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 + 0x150]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x120]
call fcn.140100fe0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140024284
mov rbx, qword [rsp + 0x128]
test rbx, rbx
je 0x140100416
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x140100416
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x140100416
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x108]
call fcn.140100d80
mov rbx, qword [rax]
jmp 0x14010034c
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140100450
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 0x140100430
cmp rbx, qword [0x1403cf4c0]
jne 0x140100830
lea rax, [0x1403cf4d8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdi
mov rcx, qword [0x1403cf4d8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, r15d
lock xadd dword [rsp + 0x88], eax
test eax, eax
jne 0x1401004aa
cmp dword [rsp + 0x8c], edi
jne 0x1401009fe
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [rsp + 0x8c], eax
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x110]
call fcn.140100d80
mov rbx, qword [rax]
test r14b, r14b
jne 0x1401005ac
cmp rbx, qword [0x1403cf4c0]
je 0x1401005b9
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov ecx, dword [0x1403cf4e8]
test ecx, ecx
jne 0x1401004f5
mov eax, r15d
lock xadd dword [0x1403cf4e8], eax
mov eax, dword [0x1403cf4e8]
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 + 0x150]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x130]
call fcn.140100fe0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140024284
mov rbx, qword [rsp + 0x138]
test rbx, rbx
je 0x140100592
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x140100592
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x140100592
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x118]
call fcn.140100d80
mov rbx, qword [rax]
jmp 0x1401004c8
cmp rbx, qword [0x1403cf4c0]
jne 0x14010081a
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x90]
mov r8, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa0]
call fcn.1401010e0
nop
cmp qword [rsp + 0x48], rdi
je 0x1401007d0
cmp qword [rsp + 0xa0], rdi
je 0x1401007c2
lea rax, [rsp + 0x210]
mov qword [rsp + 0x98], 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.14000b494
nop
lea rdx, [r14 + 0x28]
mov qword [rsp + 0x248], rdi
mov qword [rsp + 0x250], rdi
lea rcx, [rsp + 0x238]
call fcn.14000b494
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.14000b494
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x280], xmm0
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1401006d0
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.1401011b8
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x140]
call fcn.140101294
nop dword [rax + rax]
nop
mov r14, qword [rsp + 0x288]
test r14, r14
je 0x140100756
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x140100756
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x140100756
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rax, qword [rsp + 0x278]
cmp rax, 8
jb 0x14010079a
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x260]
mov rdx, rcx
cmp rax, 0x1000
jb 0x140100794
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x140100a0f
call fcn.140261814
nop
movdqa xmm0, xmmword [0x140333fe0]
movdqa xmmword [rsp + 0x270], xmm0
mov word [rsp + 0x260], di
lea rcx, [rsp + 0x210]
call fcn.1400e47bc
jmp 0x1401007d5
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
nop
mov qword [rsp + 0x48], rdi
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x14010081a
mov eax, esi
lock xadd dword [r14 + 8], eax
add eax, esi
jne 0x14010081a
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, esi
lock xadd dword [r14 + 0xc], eax
add eax, esi
jne 0x14010081a
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
lea rcx, [rsp + 0x80]
call fcn.14008c884
cmp rbx, qword [0x1403cf4c0]
je 0x140100848
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 rcx, qword [rsp + 0x68]
cmp qword [rsp + 0x48], rdi
je 0x1401008bb
test rcx, rcx
je 0x140100863
lock add dword [rcx + 8], r15d
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xb8]
mov qword [rdx], rax
mov rbx, qword [rdx + 8]
mov qword [rdx + 8], rcx
test rbx, rbx
je 0x1401008bb
mov eax, esi
lock xadd dword [rbx + 8], eax
add eax, esi
jne 0x1401008b6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
add eax, esi
jne 0x1401008b6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1401008c6
call fcn.14000d294
nop
jmp 0x1401008d8
test r13d, r13d
jns 0x14010098f
lea rax, str.SH_ErrorCode
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd0], r13d
mov word [rsp + 0xd4], di
lea rax, [0x1402b5988]
mov qword [rsp + 0xc0], rax
lea rax, str.Message
mov qword [rsp + 0xe0], rax
lea rax, str.Exception_was_thrown
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], di
lea rax, method.Mso::Logging::StructuredObject_wchar_t_const____ptr64__1_.virtual_0
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x28], rax
lea rax, str._CWinHttpSessionManager__WinHttpOpen
mov qword [rsp + 0x20], rax
mov ecx, 0x7e325d
mov r8d, 0xa
call fcn.1400e0fe8
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14010098f
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x150]
call fcn.14000b220
lea rcx, [rsp + 0x170]
call fcn.14000b220
lea rcx, [rsp + 0x190]
call fcn.14000b220
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.1402361b0
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
call fcn.140261a5c
nop
jmp 0x1401009eb
nop
call fcn.140261a5c
nop
jmp 0x1401009f4
nop
call fcn.140261a5c
nop
jmp 0x1401009fd
nop
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140025d34
nop
jmp 0x140100a0e
nop
call fcn.140261a5c
nop
jmp 0x140100a18
nop
nop
nop
nop