Function at 0x18000f6f0
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x42f8]
mov eax, 0x43f8
call fcn.18002b8b0
sub rsp, rax
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov rdi, rcx
lea rsi, [rcx + 0x20]
xor r8d, r8d
lea rdx, [0x180083514]
mov rcx, rsi
call fcn.180027e40
movdqa xmm0, xmmword [0x180084c10]
movdqu xmmword [rbp - 0x18], xmm0
xor r14d, r14d
mov word [rbp - 0x28], r14w
mov r8d, 0x9e
lea rdx, [0x180081570]
lea rcx, [rbp - 0x28]
call fcn.180027e40
nop
mov byte [rbp - 0x38], r14b
mov qword [rbp - 0x30], r14
lea rcx, [rbp - 0x38]
call fcn.180025910
test al, al
jne 0x18000f784
xor bl, bl
jmp 0x18000fff5
movdqa xmm0, xmmword [0x180084c10]
movdqu xmmword [rbp - 0x48], xmm0
mov word [rbp - 0x58], r14w
xor r8d, r8d
lea rdx, [0x180083514]
lea rcx, [rbp - 0x58]
call fcn.180027e40
nop
lea rcx, [rbp - 0x28]
call fcn.180010510
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.180027e40
mov qword [rsp + 0x58], r14
mov qword [rbp - 0x60], r14
mov qword [rbp + 0x4358], r14
movaps xmm0, xmmword [str.http:__crl.microsoft.com_pki_crl_products_CodeSignPCA.crl]
movaps xmmword [rbp + 0x2a0], xmm0
movaps xmm1, xmmword [0x1800814e0]
movaps xmmword [rbp + 0x2b0], xmm1
movaps xmm0, xmmword [0x1800814f0]
movaps xmmword [rbp + 0x2c0], xmm0
movaps xmm1, xmmword [0x180081500]
movaps xmmword [rbp + 0x2d0], xmm1
movaps xmm0, xmmword [0x180081510]
movaps xmmword [rbp + 0x2e0], xmm0
movaps xmm1, xmmword [0x180081520]
movaps xmmword [rbp + 0x2f0], xmm1
movaps xmm0, xmmword [0x180081530]
movaps xmmword [rbp + 0x300], xmm0
mov eax, dword [0x180081540]
mov dword [rbp + 0x310], eax
xor edx, edx
mov r8d, 0xfd4
lea rcx, [rbp + 0x314]
call fcn.18004b570
mov r13d, r14d
mov dword [rbp + 0x4340], r14d
xor eax, eax
lea r15d, [rax + 1]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x4358]
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x60]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x58]
mov qword [rbp - 0x68], rax
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rbp + 0x78], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp + 0x88], xmm1
mov byte [rbp + 0x98], r15b
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x18000f92c
mov r12d, r14d
cmp dword [rdi], r14d
setne r12b
cmp qword [rdi + 8], r13
setne r13b
mov ebx, r14d
cmp qword [rdi + 0x10], rbx
setne bl
mov dword [rbp + 0x4340], ebx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rsp + 0x50]
test rcx, rcx
cmovne rax, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x7c], r15d
jmp 0x18000f93a
mov dword [rsp + 0x60], 1
mov r12d, 1
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x18000ff46
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0xa0]
call fcn.18004b570
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x12f0]
call fcn.18004b570
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x22f0]
call fcn.18004b570
mov ebx, r14d
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp]
call fcn.18004b570
mov dword [rbp], 0x68
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x20], 0xffffffff
mov dword [rbp + 0x30], 0xffffffff
mov dword [rbp + 0x40], 0xffffffff
mov dword [rbp + 0x50], 0xffffffff
mov dword [rbp + 0x60], 0xffffffff
lea rax, [rbp + 0x2a0]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], bx
jne 0x18000fa00
lea r9, [rbp]
xor r8d, r8d
lea rcx, [rbp + 0x2a0]
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x18000fab9
mov r8, qword [rbp + 0x18]
test r8, r8
je 0x18000fa4f
mov r9d, dword [rbp + 0x20]
mov edx, 0x100
lea rcx, [rbp + 0xa0]
call fcn.18005170c
mov eax, dword [rbp + 0x20]
mov word [rbp + rax*2 + 0xa0], r14w
mov r8, qword [rbp + 0x48]
test r8, r8
je 0x18000fa79
mov r9d, dword [rbp + 0x50]
mov edx, 0x800
lea rcx, [rbp + 0x12f0]
call fcn.18005170c
mov eax, dword [rbp + 0x50]
mov word [rbp + rax*2 + 0x12f0], r14w
mov r8, qword [rbp + 0x58]
test r8, r8
je 0x18000faa3
mov r9d, dword [rbp + 0x60]
mov edx, 0x800
lea rcx, [rbp + 0x22f0]
call fcn.18005170c
mov eax, dword [rbp + 0x60]
mov word [rbp + rax*2 + 0x22f0], r14w
movzx r14d, word [rbp + 0x4340]
movzx eax, word [rbp + 0x24]
test ax, ax
cmovne r14w, ax
jmp 0x18000fac1
movzx r14d, word [rbp + 0x4340]
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x32f0]
call fcn.18004b570
lea r8, [rbp + 0x12f0]
mov edx, 0x800
lea rcx, [rbp + 0x32f0]
call fcn.1800507a4
test eax, eax
jne 0x18000ff43
lea r8, [rbp + 0x22f0]
mov edx, 0x800
lea rcx, [rbp + 0x32f0]
call fcn.1800507a4
test eax, eax
jne 0x18000ff43
xor r9d, r9d
movzx r8d, r14w
lea rdx, [rbp + 0xa0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rbp - 0x60], rax
xor r14d, r14d
test rax, rax
je 0x18000ff46
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, str.HTTP_1.1
lea r8, [rbp + 0x12f0]
lea rdx, [0x180082220]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov qword [rbp + 0x4358], rax
test rax, rax
je 0x18000ff46
test r12d, r12d
je 0x18000fb8f
mov ecx, 1
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x7c], ecx
jmp 0x18000fb93
mov ecx, dword [rsp + 0x60]
bts ecx, 0x11
mov dword [rsp + 0x60], ecx
test r12d, r12d
je 0x18000fc1d
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x2a0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
jne 0x18000fd14
test ebx, ebx
jne 0x18000fbd7
mov dword [rsp + 0x64], 2
mov ebx, 1
jmp 0x18000fbf8
mov ecx, dword [rsp + 0x60]
bt ecx, 0x11
jae 0x18000fc1d
btc ecx, 0x11
bts ecx, 0x10
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x64], 1
mov ebx, r14d
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x2a0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x18000fbc4
jmp 0x18000fd14
test r13d, r13d
je 0x18000fcba
test r12d, r12d
je 0x18000fc2e
xor ecx, 1
mov rax, qword [rdi + 8]
mov qword [rsp + 0x68], rax
or ecx, 0x1c0002
mov dword [rsp + 0x60], ecx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x2a0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
jne 0x18000fd14
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x18000fc82
test r15d, r15d
je 0x18000fc82
xor dword [rsp + 0x60], 0x1c0000
mov r15d, r14d
jmp 0x18000fc98
mov ecx, dword [rsp + 0x60]
bt ecx, 0x11
jae 0x18000fcba
btc ecx, 0x11
bts ecx, 0x10
mov dword [rsp + 0x60], ecx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x2a0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x18000fc65
jmp 0x18000fd14
cmp dword [rbp + 0x4340], r14d
je 0x18000fcfc
test r12d, r12d
jne 0x18000fccd
test r13d, r13d
je 0x18000fcd4
xor ecx, 3
mov dword [rsp + 0x60], ecx
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 3
mov rcx, qword [rdi + 0x18]
mov rax, qword [rsp + 0x50]
test rcx, rcx
cmovne rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x18000fd14
xor ecx, 3
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x40], 1
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x48], rax
mov rbx, qword [rbp + 0x4358]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18000f4f0
mov r9d, 0x18
lea r8, [rsp + 0x40]
lea edx, [r9 + 0xe]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x4358]
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov dword [rbp + 0x4340], 0x18
lea r9, [rbp + 0x4340]
lea r8, [rsp + 0x40]
mov edx, 0x26
mov rcx, qword [rbp + 0x4358]
test eax, eax
jne 0x18000fdaa
call qword [sym.imp.WINHTTP.dll_WinHttpQueryOption]
test eax, eax
je 0x18000ff46
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18000f4f0
jmp 0x18000ff46
call qword [sym.imp.WINHTTP.dll_WinHttpQueryOption]
test eax, eax
je 0x18000fdc1
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18000f4f0
xor edx, edx
mov rcx, qword [rbp + 0x4358]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x18000ff46
lea rdx, [0x180081560]
mov rcx, rsi
call fcn.18000f5e0
cmp rax, 0xffffffffffffffff
je 0x18000ff46
lea rdx, [0x18008155c]
mov rcx, rsi
call fcn.18000f5e0
cmp rax, 0xffffffffffffffff
jne 0x18000ff46
lea rdx, [0x180081560]
mov rcx, rsi
call fcn.18000f5e0
mov rbx, rax
lea rcx, [rax + 1]
movdqa xmm0, xmmword [0x180084c10]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r14w
mov rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x18001005e
sub rax, rcx
cmp rax, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
cmovb r8, rax
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x18000fe5e
mov rax, qword [rsi]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x80]
call fcn.180027e40
lea rdx, [rbp - 0x80]
mov rcx, qword [rbp + 0x4350]
call fcn.180025870
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18000febb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000feb6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180010064
call fcn.18002aef0
movdqa xmm0, xmmword [0x180084c10]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r14w
cmp qword [rsi + 0x10], rbx
cmovb rbx, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
jb 0x18000fee0
mov rsi, qword [rsi]
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.180027e40
lea rdx, [rbp - 0x80]
mov rcx, qword [rbp + 0x4348]
call fcn.180025870
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18000ff3f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ff3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001006a
call fcn.18002aef0
mov bl, 1
jmp 0x18000ff48
xor r14d, r14d
xor bl, bl
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18000ff58
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000ff68
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rax, qword [rbp + 0x4358]
test rax, rax
je 0x18000ff7d
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x18000ff8f
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x18000ffa3
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x18000ffe3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ffde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180010070
call fcn.18002aef0
movdqa xmm0, xmmword [0x180084c10]
movdqu xmmword [rbp - 0x48], xmm0
mov word [rbp - 0x58], r14w
cmp byte [rbp - 0x38], 0
je 0x180010005
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x180010041
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001003c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180010058
call fcn.18002aef0
movzx eax, bl
add rsp, 0x43f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18004df84
nop
call fcn.18001efd0
nop
call fcn.18004df84
int3
call fcn.18004df84
nop
call fcn.18004df84
int3