Function at 0x1401e3760
Capabilities:
Prepare http request
Receive http response

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rbx, rdx
mov r13, rcx
xor r12d, r12d
mov r15d, r12d
mov qword [rbp - 0x30], r12
mov esi, r12d
mov qword [rbp - 0x28], r12
mov r14d, r12d
mov qword [rbp - 0x20], r12
mov edi, r12d
mov qword [rbp - 0x18], r12
mov qword [r9 + 0xf0], r12
call fcn.1401e4010
mov rcx, r13
call fcn.1401e3690
test al, al
je 0x1401e3d5f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
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
mov qword [rbp - 0x40], rax
mov dword [rsp + 0x60], 0x68
mov dword [rbp - 0x80], 1
mov dword [rbp - 0x50], 1
mov dword [rbp - 0x70], 1
mov dword [rbp - 0x60], 1
lea r9, [rsp + 0x60]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x1401e3d5f
cmp dword [rsp + 0x74], 2
jne 0x1401e3835
mov byte [r13 + 0x20], 1
mov eax, dword [rbp - 0x70]
cmp qword [rbp - 0x78], 0
cmove eax, r12d
mov dword [rbp - 0x70], eax
mov eax, dword [rbp - 0x60]
cmp qword [rbp - 0x68], 0
cmove eax, r12d
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x40], eax
mov r12, qword [rsp + 0x78]
lea ebx, [rax + 1]
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14021f4ec
test rax, rax
jne 0x1401e3890
lea ecx, [rax + 0xe]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1401e3d5f
add rbx, rbx
mov r8, rbx
xor edx, edx
mov r15, rax
mov rcx, rax
call fcn.1402539e0
test rbx, rbx
je 0x1401e38d4
mov r8, rbx
mov rcx, r15
test r12, r12
je 0x1401e38bd
mov rdx, r12
call fcn.140253310
jmp 0x1401e38d4
xor edx, edx
call fcn.1402539e0
call fcn.1402610e0
mov dword [rax], SafeArrayPutElement
call fcn.140260f34
mov eax, dword [rsp + 0x40]
xor ecx, ecx
mov word [r15 + rax*2], cx
mov qword [rbp - 0x30], r15
mov ecx, dword [rbp - 0x50]
mov dword [rsp + 0x40], ecx
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x48], rax
lea ebx, [rcx + 1]
mov eax, 2
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14021f4ec
mov r12, rax
test rax, rax
jne 0x1401e3927
lea ecx, [rax + 0xe]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1401e3d5f
add rbx, rbx
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.1402539e0
test rbx, rbx
je 0x1401e396d
mov rax, qword [rsp + 0x48]
mov r8, rbx
mov rcx, r12
test rax, rax
je 0x1401e3956
mov rdx, rax
call fcn.140253310
jmp 0x1401e396d
xor edx, edx
call fcn.1402539e0
call fcn.1402610e0
mov dword [rax], SafeArrayPutElement
call fcn.140260f34
mov eax, dword [rsp + 0x40]
xor ecx, ecx
mov word [r12 + rax*2], cx
mov rsi, r12
mov qword [rbp - 0x28], r12
mov r12d, dword [rbp - 0x70]
test r12d, r12d
je 0x1401e3a29
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x40], rax
lea ecx, [r12 + 1]
mov qword [rsp + 0x48], rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14021f4ec
mov rbx, rax
test rax, rax
jne 0x1401e39d0
lea ecx, [rax + 0xe]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1401e3d5f
mov r14, qword [rsp + 0x48]
add r14, r14
mov r8, r14
xor edx, edx
mov rcx, rbx
call fcn.1402539e0
test r14, r14
je 0x1401e3a1b
mov rax, qword [rsp + 0x40]
mov r8, r14
mov rcx, rbx
test rax, rax
je 0x1401e3a04
mov rdx, rax
call fcn.140253310
jmp 0x1401e3a1b
xor edx, edx
call fcn.1402539e0
call fcn.1402610e0
mov dword [rax], SafeArrayPutElement
call fcn.140260f34
xor ecx, ecx
mov word [rbx + r12*2], cx
mov r14, rbx
mov qword [rbp - 0x20], rbx
mov r12d, dword [rbp - 0x60]
test r12d, r12d
je 0x1401e3ad9
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x40], rax
lea ecx, [r12 + 1]
mov qword [rsp + 0x48], rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14021f4ec
mov rbx, rax
test rax, rax
jne 0x1401e3a7a
lea ecx, [rax + 0xe]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1401e3d5f
mov rdi, qword [rsp + 0x48]
add rdi, rdi
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.1402539e0
test rdi, rdi
je 0x1401e3ac5
mov rax, qword [rsp + 0x40]
mov r8, rdi
mov rcx, rbx
test rax, rax
je 0x1401e3aae
mov rdx, rax
call fcn.140253310
jmp 0x1401e3ac5
xor edx, edx
call fcn.1402539e0
call fcn.1402610e0
mov dword [rax], SafeArrayPutElement
call fcn.140260f34
mov rax, r12
xor r12d, r12d
mov word [rbx + rax*2], r12w
mov rdi, rbx
mov qword [rbp - 0x18], rbx
jmp 0x1401e3adc
xor r12d, r12d
xor r9d, r9d
movzx r8d, word [rbp - 0x7c]
mov rdx, r15
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r10, rax
mov qword [r13 + 0x30], rax
test rax, rax
jne 0x1401e3b0a
mov dword [r13 + 0x60], 1
jmp 0x1401e3d5f
movzx eax, byte [r13 + 0x20]
neg al
sbb ecx, ecx
and ecx, 0x800000
lea rax, [0x14034a448]
lea rdx, str.POST
cmp dword [rbp + 0x60], 0
cmove rdx, rax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8, rsi
mov rcx, r10
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov qword [r13 + 0x38], rax
test rax, rax
je 0x1401e3d57
cmp qword [r13 + 0xb8], 0
je 0x1401e3bf5
mov rbx, qword [r13 + 0xb0]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1401e3bf5
nop word [rax + rax]
mov rax, qword [rbx + 0x1c]
mov qword [rsp + 0x50], rax
mov r9d, 4
lea r8, [rsp + 0x54]
mov edx, eax
mov rcx, qword [r13 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1401e3bcc
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1401e3bc7
cmp rbx, qword [rax + 0x10]
jne 0x1401e3bc7
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1401e3bb4
mov rbx, rax
jmp 0x1401e3bef
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1401e3bef
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1401e3be0
cmp byte [rbx + 0x19], 0
je 0x1401e3b80
cmp byte [r13 + 0x20], 0
je 0x1401e3c1d
mov dword [rsp + 0x40], 0x3301
mov r9d, 4
lea r8, [rsp + 0x40]
lea edx, [r9 + 0x1b]
mov rcx, qword [r13 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
lea rcx, [rsp + 0x48]
call fcn.1401e4f80
mov eax, dword [rbp + 0x78]
mov r9, qword [rbp + 0x70]
test r9, r9
cmove eax, r12d
mov rcx, qword [r13 + 0x38]
mov rdx, qword [rbp + 0x80]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
test rdx, rdx
jne 0x1401e3c57
xor r8d, r8d
jmp 0x1401e3c5d
mov r8d, 0xffffffff
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
cmp eax, 1
sete al
test al, al
jne 0x1401e3d05
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov qword [rbp + 0x68], r12
lea rcx, str.winhttp.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 0x409
mov r8d, ebx
mov ecx, 0xb00
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov qword [rbp - 0x10], r12
mov qword [rbp], r12
mov qword [rbp + 8], 7
mov r8d, SafeArrayLock
lea rdx, str._s:__0x_08x___s
lea rcx, [rbp - 0x10]
call fcn.140101ff0
mov r9, qword [rbp + 0x68]
mov r8d, ebx
lea rdx, str.SendHttpRequest_failed:
lea rcx, [rbp - 0x10]
call fcn.1401a82f0
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [r13 + 0x60], 3
jmp 0x1401e3d5f
xor edx, edx
mov rcx, qword [r13 + 0x38]
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x1401e3d57
lea rcx, [rsp + 0x50]
call fcn.1401e4f80
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rax + 0xf0], rdx
mov dword [r13 + 0x60], r12d
mov bl, 1
jmp 0x1401e3d61
mov dword [r13 + 0x60], 2
xor bl, bl
test rdi, rdi
je 0x1401e3d6f
mov rcx, rdi
call fcn.14021f46c
nop
test r14, r14
je 0x1401e3d7d
mov rcx, r14
call fcn.14021f46c
nop
test rsi, rsi
je 0x1401e3d8b
mov rcx, rsi
call fcn.14021f46c
nop
test r15, r15
je 0x1401e3d98
mov rcx, r15
call fcn.14021f46c
movzx eax, bl
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret