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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x198
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x14002c040]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r12, r9
mov r14, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rbp], rcx
mov qword [rbp + 0x30], r9
xor r13d, r13d
movabs rax, 0x454e94d34f84ab96
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
movabs rax, 0x84d53df6121f4c69
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x68], rax
movabs rax, 0xf11014fc2d3390b1
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x70], rax
movabs rcx, 0x3dc5c1a1f1e648c2
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x78], rax
movabs rax, 0x453c94b64ff7abe3
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xa0], rax
movabs r15, 0x84bb3d9312784c08
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xa8], rax
movabs rax, 0xf11014fc2d3390c5
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb8], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0xa0]
vmovdqu ymmword [rbp + 0x60], ymm1
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x60]
vzeroupper
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rsi, rax
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x1400042fe
movabs rcx, 0x453c94b64ff7abe3
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x88], rax
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp], xmm0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rax, [rbp]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400042d0
mov r8, rbx
lea rdx, [rbp]
mov rcx, rdi
call fcn.140010a30
nop
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
jmp 0x140004a93
cmp qword [rbx + 0x18], 7
jbe 0x140004308
mov rbx, qword [rbx]
mov r8d, 0x50
xor r9d, r9d
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rbx, rax
mov qword [rbp + 0x20], rax
test rax, rax
jne 0x1400043ce
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movabs rcx, 0x453c94b64ff7abe3
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x10], r15
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x88], rax
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp], xmm0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rax, [rbp]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400043a0
mov r8, rbx
lea rdx, [rbp]
mov rcx, rdi
call fcn.140010a30
nop
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
jmp 0x140004a93
cmp qword [r14 + 0x18], 7
jbe 0x1400043d8
mov r14, qword [r14]
movabs rax, 0x456894e54fb8abb3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x453c94b64ff7abe3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movdqa xmm0, xmmword [rbp + 0x80]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x80], xmm0
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8, r14
lea rdx, [rbp + 0x80]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
test rax, rax
jne 0x140004524
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movabs rcx, 0x453c94b64ff7abe3
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
movabs r14, 0x84bb3d9312784c08
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rax, [rbp + 0x10]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400044f6
mov r8, rbx
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140010a30
nop
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
jmp 0x140004a93
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.14000c780
nop
lea r9, [rbp + 0x40]
cmp qword [rbp + 0x58], 0xf
cmova r9, qword [rbp + 0x40]
movabs rax, 0x454894d84f98aba0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0x84963de712164c6d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0xf175148c2d4a9091
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0x3db5c1c0f1c648f8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs rax, 0xc2737ec3f6660427
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0x41439fde7b6ea42d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0x73ec946a9e79d897
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0x65c9e3b578fcb3e9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
movabs rax, 0x453c94b64ff7abe3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
movabs r14, 0x84bb3d9312784c08
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
movabs rax, 0xf11014fc2d3390c5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf0], rax
movabs rax, 0x3dc5c1a1f1e648c2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf8], rax
movabs rax, 0xc2107eaaf60a0457
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0x412c9fb77b1aa44c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
movabs rax, 0x739f94009e56d8f9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
movabs rax, 0x65c9e3b57892b386
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
vmovdqu ymm0, ymmword [rbp + 0xa0]
vpxor ymm1, ymm0, ymmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0xa0], ymm1
vmovdqu ymm0, ymmword [rbp + 0xc0]
vpxor ymm1, ymm0, ymmword [rbp + 0x100]
vmovdqa ymmword [rbp + 0xc0], ymm1
mov qword [rsp + 0x30], r13
mov eax, dword [rbp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov r8d, 0xffffffff
lea rdx, [rbp + 0xa0]
mov rcx, r15
vzeroupper
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov rcx, r15
test eax, eax
jne 0x14000482f
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movabs rcx, 0x453c94b64ff7abe3
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rax, [rbp + 0x10]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400047b5
mov r8, rbx
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140010a30
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x140004809
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004804
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a47
call fcn.14001e790
movdqa xmm0, xmmword [0x1400246c0]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
jmp 0x140004a93
xor edx, edx
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x14000493e
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movabs rcx, 0x453c94b64ff7abe3
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rax, [rbp + 0x10]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400048c4
mov r8, rbx
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.140010a30
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x140004918
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004913
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a47
call fcn.14001e790
movdqa xmm0, xmmword [0x1400246c0]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
jmp 0x140004a93
mov dword [rbp + 0x38], r13d
mov dword [rbp + 0x2c], r13d
mov esi, r13d
mov rbx, 0xffffffffffffffff
lea rdx, [rbp + 0x2c]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov r14d, eax
test eax, eax
je 0x1400049a8
mov edx, esi
add edx, dword [rbp + 0x2c]
cmovb rdx, rbx
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov rcx, r15
test rax, rax
je 0x140004a4e
mov r13, rax
mov edx, esi
add rdx, rax
lea r9, [rbp + 0x38]
mov r8d, dword [rbp + 0x2c]
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
mov r14d, eax
test eax, eax
je 0x1400049a8
mov eax, dword [rbp + 0x38]
add esi, eax
test eax, eax
jne 0x140004950
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test r14d, r14d
jne 0x1400049d8
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
xor esi, esi
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov r8d, esi
mov rdx, r13
lea rcx, [rbp + 0x60]
call fcn.140010a30
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x70]
movups xmmword [rdi + 0x10], xmm1
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x140004a72
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004a6d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x1400049ca
call fcn.14001e790
movdqa xmm0, xmmword [0x1400246c0]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
lea rcx, [r12 + 8]
movzx edx, byte [r12]
call fcn.14000ef50
nop
mov rax, rdi
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.14001e770
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret