Function at 0x140012950
Capabilities:
Prepare http request
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 - 0xc88]
sub rsp, 0xd88
mov rax, qword [0x1400300a8]
xor rax, rsp
mov qword [rbp + 0xc70], rax
mov rsi, r9
mov r13, r8
mov r15, rdx
mov rbx, rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x20], rdx
mov r14, qword [rbp + 0xcf0]
xor r12b, r12b
cmp qword [rcx], 0
je 0x140012b71
xor edi, edi
mov qword [rbp + 8], rdi
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp + 0x18], xmm0
mov word [rbp + 8], di
mov qword [rbp - 0x18], rdi
movdqu xmmword [rbp - 8], xmm0
mov word [rbp - 0x18], di
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x18]
lea rdx, [rbp + 8]
mov rcx, r15
call fcn.1400123c0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x30]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0xa28
lea rcx, [rbp + 0x240]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x70], 0x68
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], 0x104
lea rax, [rbp + 0x240]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], 0x514
mov eax, 1
mov dword [rbp - 0x80], eax
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x140012a64
mov rcx, qword [r15]
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, dword [r15 + 0x10]
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x140012ded
lea rax, [rbp + 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140012a90
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140003910
xor r9d, r9d
movzx r8d, word [rbp - 0x6c]
lea rdx, [rbp + 0x30]
mov rcx, qword [rbx]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140012b80
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140012b0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012b08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012c10
call fcn.14001dbd4
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp - 8], xmm0
xor ebx, ebx
mov word [rbp - 0x18], bx
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x140012b60
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012b5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012c72
call fcn.14001dbd4
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp + 0x18], xmm0
mov word [rbp + 8], bx
mov rcx, r15
call fcn.140003500
xor al, al
jmp 0x140012ea1
lea rax, [0x140022158]
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov ecx, 0x800000
cmp dword [rbp - 0x7c], 2
cmove eax, ecx
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x20], rax
lea r9, str.HTTP_1.1
mov r8, qword [rbp - 0x48]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
test rax, rax
jne 0x140012c79
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140012c1c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012c17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012c17
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001dbd4
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp - 8], xmm0
xor ebx, ebx
mov word [rbp - 0x18], bx
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x140012b60
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012b5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012b5b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp dword [rbp - 0x7c], 2
jne 0x140012c9f
mov dword [rsp + 0x44], 0x3100
mov r9d, 4
lea r8, [rsp + 0x44]
lea edx, [r9 + 0x1b]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov r9d, 1
mov r8d, 0xffffffff
lea rdx, str.Content_Type:_application_x_www_form_urlencoded
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
je 0x140012dd9
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov eax, dword [rbp + 0xcf8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov r9, r14
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x140012dd9
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140012dd9
xor eax, eax
mov r14d, eax
movzx ebx, byte [rsp + 0x40]
nop
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x140012dbb
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140012dbb
lea ecx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
mov r8d, dword [rsp + 0x40]
inc r8d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x140012dad
mov r9d, dword [rsp + 0x40]
add r9, rdi
mov rdx, qword [r13 + 8]
mov byte [rsp + 0x20], bl
mov r8, rdi
mov rcx, r13
call fcn.140011c90
add r14d, dword [rsp + 0x44]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rsp + 0x40], 0
mov eax, 0
ja 0x140012d10
jmp 0x140012dbb
test rdi, rdi
je 0x140012dbb
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x18], r14d
movzx r12d, r12b
test r14d, r14d
mov eax, 1
cmovne r12d, eax
mov rdi, qword [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor edi, edi
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140012e30
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012e2b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012e2b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001dbd4
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp - 8], xmm0
mov word [rbp - 0x18], di
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x140012e84
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012e7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012e7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001dbd4
movdqa xmm0, xmmword [0x140021970]
movdqu xmmword [rbp + 0x18], xmm0
mov word [rbp + 8], di
mov rcx, r15
call fcn.140003500
movzx eax, r12b
mov rcx, qword [rbp + 0xc70]
xor rcx, rsp
call fcn.14001df40
add rsp, 0xd88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret