Function at 0x14002c990
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Set http header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x1400ba060]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rax, r9
mov qword [rsp + 0x58], rax
mov rsi, r8
mov qword [rbp - 0x60], r8
mov r13, rdx
mov qword [rbp - 0x78], rdx
mov r14, rcx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x58], rax
mov r15, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x70], rax
mov rax, r8
mov qword [rsp + 0x60], rax
cmp qword [r8 + 0x18], 0x10
jb 0x14002ca0e
mov rax, qword [r8]
mov qword [rsp + 0x60], rax
mov r12, 0xffffffffffffffff
inc r12
cmp byte [rax + r12], 0
jne 0x14002ca15
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], al
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x50], eax
mov edi, eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rbx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14002d16b
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x14002ca6f
mov rdx, qword [r14]
mov r8d, 0x1bb
xor r9d, r9d
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x14002d162
mov r8, r13
cmp qword [r13 + 0x18], 8
jb 0x14002ca9c
mov r8, qword [r13]
mov dword [rsp + 0x30], 0x800000
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea rdx, [0x1400aa920]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14002d154
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
lea r8d, [r14 + 6]
lea rdx, str.Expect
lea rcx, [rbp - 0x30]
call fcn.140001db0
nop
mov qword [rbp - 0x10], r14
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r14w
lea r8d, [r14 + 0xc]
lea rdx, str.100_continue
lea rcx, [rbp - 0x10]
call fcn.140001db0
nop
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14002cb70
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movups xmmword [rdx + 0x10], xmm1
lea ebx, [r14 + 7]
mov word [rbp - 0x30], r14w
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp]
movups xmmword [rdx + 0x30], xmm1
mov edx, ebx
mov word [rbp - 0x10], r14w
add qword [rdi + 8], 0x40
jmp 0x14002cb84
lea r8, [rbp - 0x30]
mov rcx, rdi
call fcn.140035e10
mov rdx, qword [rbp + 8]
mov rbx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14002cbc0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cbbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d290
call fcn.1400623ac
cmp rbx, 8
jb 0x14002cbfc
lea rdx, [rbx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cbf7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d290
call fcn.1400623ac
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8d, 0xc
lea rdx, str.Content_Type
lea rcx, [rbp - 0x30]
call fcn.140001db0
nop
mov qword [rbp - 0x10], r14
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r14w
mov r8d, 0x10
lea rdx, str.application_json
lea rcx, [rbp - 0x10]
call fcn.140001db0
nop
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14002cc95
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movups xmmword [rdx + 0x10], xmm1
mov ebx, 7
mov word [rbp - 0x30], r14w
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rbp]
movups xmmword [rdx + 0x30], xmm1
mov edx, ebx
mov word [rbp - 0x10], r14w
add qword [rdi + 8], 0x40
jmp 0x14002cca9
lea r8, [rbp - 0x30]
mov rcx, rdi
call fcn.140035e10
mov rdx, qword [rbp + 8]
mov rbx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14002cce5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cce0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d290
call fcn.1400623ac
cmp rbx, 8
jb 0x14002cd21
lea rdx, [rbx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd1c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d290
call fcn.1400623ac
mov r14, qword [rdi]
mov r13, qword [rdi + 8]
xor ebx, ebx
cmp r14, r13
je 0x14002cee3
lea rsi, [r14 + 0x38]
lea rdx, [0x1400aa9a4]
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rsi - 0x28]
sub rax, rcx
cmp rax, 2
jb 0x14002d2a2
mov r9, r14
cmp qword [rsi - 0x20], 8
jb 0x14002cd66
mov r9, qword [r14]
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x30]
call fcn.140008b80
nop
mov rdx, qword [rsi - 8]
lea r9, [rsi - 0x18]
cmp qword [rsi], 8
jb 0x14002cd94
mov r9, qword [r9]
mov rcx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x14002cdda
lea rdi, [rdx + rcx]
mov qword [rbp - 0x20], rdi
lea rbx, [rbp - 0x30]
cmp r8, 8
cmovae rbx, qword [rbp - 0x30]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.140064710
xor ecx, ecx
mov word [rbx + rdi*2], cx
lea rax, [rbp - 0x30]
xor ebx, ebx
jmp 0x14002cde8
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x30]
call fcn.1400089c0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14002ce52
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ce4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d296
call fcn.1400623ac
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
mov r9d, 0x20000000
mov r8d, dword [rbp + 0x20]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x14002ce8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.WinHttpAddRequestHeaders_error:__d_n
call fcn.14002bc20
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x14002cecd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cec8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d29c
call fcn.1400623ac
add r14, 0x40
add rsi, 0x40
cmp r14, r13
jne 0x14002cd37
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
mov r9, qword [rsp + 0x60]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov edi, eax
test eax, eax
je 0x14002d13f
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov edi, eax
test eax, eax
je 0x14002d13f
mov dword [rsp + 0x48], 4
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov dword [rsp + 0x40], ebx
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x14002d12b
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14002d13f
lea ecx, [rax + 1]
call fcn.140062630
mov rbx, rax
mov r8d, dword [rsp + 0x40]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.140064de0
lea r9, [rsp + 0x50]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x14002cfc7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Error__u_in_WinHttpReadData._n
call fcn.14002bc20
jmp 0x14002d115
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], r14b
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], r14b
jne 0x14002cfe5
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.140003810
nop
mov r8, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14002d008
mov r8, qword [r15]
mov r9, qword [r15 + 0x10]
lea rcx, [rbp - 0x30]
call fcn.140008cc0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rbp + 0x10]
cmp r15, rax
je 0x14002d09e
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x14002d08a
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x14002d07b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002d2a8
mov rcx, r8
call fcn.1400623ac
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm1
mov edx, 0xf
mov byte [rbp + 0x10], 0
jmp 0x14002d0a2
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14002d0da
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d0d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d2a8
call fcn.1400623ac
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14002d115
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d110
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d2ae
call fcn.1400623ac
mov rcx, rbx
call fcn.1400623ac
cmp dword [rsp + 0x40], 0
jbe 0x14002d13f
xor ebx, ebx
jmp 0x14002cf51
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Error__u_in_WinHttpQueryDataAvailable._n
call fcn.14002bc20
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov r14, qword [rbp - 0x80]
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rsi, qword [rbp - 0x60]
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test edi, edi
setne bl
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x14002d1af
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14002d1aa
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002d2b4
mov rcx, r8
call fcn.1400623ac
xor edi, edi
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], 7
mov word [r14], di
mov rdx, qword [r13 + 0x18]
cmp rdx, 8
jb 0x14002d201
mov rcx, qword [r13]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14002d1fc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002d284
mov rcx, r8
call fcn.1400623ac
mov qword [r13 + 0x10], rdi
mov qword [r13 + 0x18], 7
mov word [r13], di
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14002d248
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14002d243
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002d28a
mov rcx, r8
call fcn.1400623ac
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rcx, qword [rsp + 0x58]
call fcn.140011280
movzx eax, bl
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140062280
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
int3
call fcn.14006e6a8
int3
call fcn.14006e6a8
int3
call fcn.140001480
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
int3