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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x18], r8
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov r15, qword [rbp + 0x400]
xor eax, eax
mov qword [rsp + 0x50], rax
mov r13d, r9d
mov rdi, rdx
mov r14, rcx
mov esi, eax
mov ebx, eax
test r15, r15
je 0x140004d1f
mov dword [r15], eax
mov r12, qword [rbp + 0x408]
test r12, r12
je 0x140004d2f
mov dword [r12], eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov edx, 4
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140004da0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.WinHttpOpen_A__d
call fcn.140006dd0
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 1
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140004da0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.WinHttpOpen_B__d
call fcn.140006dd0
jmp 0x1400051c7
xor edx, edx
mov dword [rsp + 0x20], 0x36b0
mov r9d, 0x36b0
mov r8d, 0x7d0
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
jne 0x140004dd5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpSetTimeouts__d
jmp 0x14000518c
mov r8d, 0x64
lea rcx, [rbp + 0x200]
mov rdx, r14
call qword [0x14000ea38]
xorps xmm0, xmm0
lea r9, [rsp + 0x70]
xor eax, eax
lea rcx, [rbp + 0x200]
mov qword [rbp - 0x30], rax
xor r8d, r8d
lea rax, [rbp - 0x20]
xor edx, edx
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x2d0]
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x70], 0x68
movups xmmword [rbp - 0x70], xmm0
mov dword [rbp - 0x70], 0x20
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x48], rax
movups xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x40], 0xc8
movups xmmword [rbp - 0x60], xmm0
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x140004e63
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpCrackUrl__d
jmp 0x14000518c
movzx r8d, word [rbp - 0x6c]
xor r9d, r9d
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140004e96
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpConnect__d
jmp 0x14000518c
mov r8, qword [rbp - 0x48]
lea rcx, [0x140009e80]
mov qword [rsp + 0x58], rcx
xor r14d, r14d
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rcx
xor r9d, r9d
mov rcx, rax
mov qword [rsp + 0x60], r14
mov rdx, rdi
mov qword [rsp + 0x20], r14
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
test rax, rax
jne 0x140004eeb
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpOpenRequest__d
jmp 0x14000518c
mov r9d, r14d
lea rdx, str.POST
mov rcx, r14
nop dword [rax + rax]
movzx eax, word [rdi + rcx*2]
inc rcx
mov r10, qword [rbp + 0x3f0]
cmp ax, word [rdx + rcx*2 - 2]
jne 0x140004f81
cmp rcx, 5
jne 0x140004f00
test r10, r10
je 0x140004f81
movaps xmm0, xmmword [str.Content_Type:_application_x_www_form_urlencoded_r_n]
mov r9, 0xffffffffffffffff
movaps xmm1, xmmword [0x140009ec0]
mov eax, dword [0x140009f10]
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [0x140009ed0]
movaps xmmword [rbp + 0x10], xmm1
movaps xmm1, xmmword [0x140009ee0]
movaps xmmword [rbp + 0x20], xmm0
movaps xmm0, xmmword [0x140009ef0]
movaps xmmword [rbp + 0x30], xmm1
movaps xmm1, xmmword [0x140009f00]
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x50], xmm1
mov dword [rbp + 0x60], eax
inc r9
cmp byte [r10 + r9], bl
jne 0x140004f72
movzx ecx, word [rbp]
jmp 0x140004f88
mov ecx, r14d
mov word [rbp], cx
mov r8, qword [rbp + 0x3f8]
test r8, r8
je 0x140004fc6
lea rcx, [rbp]
sub rcx, 2
nop dword [rax]
cmp word [rcx + 2], bx
lea rcx, [rcx + 2]
jne 0x140004fa0
xor edx, edx
nop dword [rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x140004fb0
movzx ecx, word [rbp]
test r9d, r9d
mov qword [rsp + 0x30], r14
movzx eax, cx
mov dword [rsp + 0x28], r9d
cmove r10, r14
mov dword [rsp + 0x20], r9d
neg ax
lea rdx, [rbp]
mov r9, r10
sbb r8d, r8d
test cx, cx
mov rcx, rsi
cmove rdx, r14
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x140005012
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpSendRequest__d
jmp 0x14000518c
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x140005033
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpReceiveResponse__d
jmp 0x14000518c
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], r14
lea r9, [rbp + 0x400]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rbp + 0x400], r14d
mov edx, 0x20000005
mov dword [rsp + 0x44], 4
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov edx, dword [rbp + 0x400]
test eax, eax
je 0x14000507c
test r12, r12
je 0x14000507c
mov dword [r12], edx
mov rcx, r14
lea r8, str.HEAD
nop word [rax + rax]
movzx eax, word [rdi + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x1400050ac
cmp rcx, 5
jne 0x140005090
mov ebx, edx
jmp 0x140005193
mov rdi, qword [rbp + 0x420]
test rdi, rdi
je 0x1400050c1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rdi], rax
test r13d, r13d
jle 0x140005193
mov r14, qword [rbp + 0x418]
mov rdi, qword [rbp + 0x410]
mov r12, qword [rbp + 0x3e0]
nop
test rdi, rdi
je 0x1400050ef
cmp byte [rdi], 0
je 0x1400050ef
test r14, r14
jne 0x140005155
xor eax, eax
lea rdx, [rbp + 0x408]
mov rcx, rsi
mov dword [rbp + 0x408], eax
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x14000517f
mov r8d, dword [rbp + 0x408]
lea r9, [rsp + 0x40]
xor eax, eax
movsxd rdx, ebx
mov dword [rsp + 0x40], eax
mov rcx, rsi
mov eax, r13d
sub eax, ebx
cmp eax, r8d
cmovl r8d, eax
add rdx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x14000515b
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14000515b
add ebx, eax
test r15, r15
je 0x14000514e
mov dword [r15], ebx
cmp ebx, r13d
jl 0x1400050e0
jmp 0x140005193
mov byte [r14], 1
jmp 0x140005193
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140005193
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.read_data_error__d
call fcn.140006dd0
xor eax, eax
mov ebx, eax
jmp 0x140005193
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.WinHttpQueryDataAvailable__d
mov edx, eax
call fcn.140006dd0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400051a6
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1400051b9
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test rsi, rsi
je 0x1400051c7
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea r11, [rsp + 0x4a0]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret