Function at 0x18000d940
Capabilities:
Create http request

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180066180]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rcx
mov ebx, 1
call fcn.18000c350
xor r14d, r14d
test al, al
cmovne ebx, r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [0x180055e66]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rdi, rax
test rax, rax
jne 0x18000da02
call fcn.18000c170
test al, al
jne 0x18000d9fb
mov ecx, dword [0x180069c80]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ecx, edx
add ecx, 0x7b
movsxd rcx, ecx
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1800289f0
mov rcx, rax
call fcn.180028a24
xor al, al
jmp 0x18000df2a
and dword [rbp - 0x21], 0xfffffe00
mov qword [rbp - 0x19], r14
mov eax, dword [rbp - 0x39]
and eax, 0xffffff04
or eax, 0x104
mov dword [rbp - 0x39], eax
mov qword [rbp - 0x31], r14
mov eax, dword [0x18006aa48]
lea r15, vtable.Json::DefaultValueAllocator.0
test al, 1
jne 0x18000da4e
or eax, 1
mov dword [0x18006aa48], eax
mov qword [0x18006a9b0], r15
lea rcx, [0x180049310]
call fcn.1800296b4
mov rcx, qword [0x1800682d8]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x1800564e0]
call qword [rax + 0x18]
mov qword [rbp - 0x41], rax
lea rdx, str.method
lea rcx, [rbp - 0x29]
call fcn.180019830
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.180018fa0
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x51]
mov byte [rbx + 8], cl
mov r9d, dword [rbp - 0x51]
mov ecx, r9d
xor ecx, edx
movzx ecx, cl
xor r9d, ecx
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x59]
mov qword [rbx], rdx
mov qword [rbp - 0x59], rcx
mov ecx, dword [rbx + 8]
mov r8d, ecx
shl r8d, 0x17
sar r8d, 0x1f
mov eax, ecx
xor eax, r9d
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl r8d, 8
xor r8d, r9d
and r8d, 0x100
xor r9d, r8d
mov dword [rbp - 0x51], r9d
lea rcx, [rbp - 0x59]
call fcn.180019100
nop
lea rcx, [rbp - 0x41]
call fcn.180019100
mov rdx, rsi
lea rcx, [rbp + 0x17]
call fcn.1800037f0
mov rbx, rax
mov ecx, dword [rbp - 0x39]
and ecx, 0xffffff04
or ecx, 0x104
mov dword [rbp - 0x39], ecx
mov qword [rbp - 0x31], r14
mov eax, dword [0x18006aa48]
test al, 1
jne 0x18000db42
or eax, 1
mov dword [0x18006aa48], eax
mov qword [0x18006a9b0], r15
lea rcx, [0x180049310]
call fcn.1800296b4
mov rdx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x18000db50
mov rbx, qword [rbx]
mov rcx, qword [0x1800682d8]
mov rax, qword [rcx]
mov r8d, edx
mov rdx, rbx
call qword [rax + 0x18]
mov qword [rbp - 0x41], rax
lea rdx, [0x18005649c]
lea rcx, [rbp - 0x29]
call fcn.180019830
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.180018fa0
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x51]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x51]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x59]
mov qword [rbx], rdx
mov qword [rbp - 0x59], rcx
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x51], r8d
lea rcx, [rbp - 0x59]
call fcn.180019100
nop
lea rcx, [rbp - 0x41]
call fcn.180019100
nop
cmp qword [rbp + 0x2f], 0x10
jb 0x18000dc00
mov rcx, qword [rbp + 0x17]
call fcn.1800289b0
mov eax, dword [rbp - 0x39]
and eax, 0xffffff04
or eax, 0x104
mov dword [rbp - 0x39], eax
mov qword [rbp - 0x31], r14
mov eax, dword [0x18006aa48]
test al, 1
jne 0x18000dc3a
or eax, 1
mov dword [0x18006aa48], eax
mov qword [0x18006a9b0], r15
lea rcx, [0x180049310]
call fcn.1800296b4
mov rcx, qword [0x1800682d8]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x1800564fc]
call qword [rax + 0x18]
mov qword [rbp - 0x41], rax
lea rdx, str.acceptedStatusCodes
lea rcx, [rbp - 0x29]
call fcn.180019830
mov r8, rax
mov rcx, rax
call fcn.180019420
mov edx, eax
mov rcx, r8
call fcn.1800194d0
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.180018fa0
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x51]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x51]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x59]
mov qword [rbx], rdx
mov qword [rbp - 0x59], rcx
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x51], r8d
lea rcx, [rbp - 0x59]
call fcn.180019100
nop
lea rcx, [rbp - 0x41]
call fcn.180019100
mov eax, dword [rbp - 0x39]
and eax, 0xffffff04
or eax, 0x104
mov dword [rbp - 0x39], eax
mov qword [rbp - 0x31], r14
mov eax, dword [0x18006aa48]
test al, 1
jne 0x18000dd2d
or eax, 1
mov dword [0x18006aa48], eax
mov qword [0x18006a9b0], r15
lea rcx, [0x180049310]
call fcn.1800296b4
mov rcx, qword [0x1800682d8]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x18005650c]
call qword [rax + 0x18]
mov qword [rbp - 0x41], rax
lea rdx, str.acceptTypes
lea rcx, [rbp - 0x29]
call fcn.180019830
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.180018fa0
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x51]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x51]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x59]
mov qword [rbx], rdx
mov qword [rbp - 0x59], rcx
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x51], r8d
lea rcx, [rbp - 0x59]
call fcn.180019100
nop
lea rcx, [rbp - 0x41]
call fcn.180019100
mov eax, dword [rbp - 0x39]
and eax, 0xffffff05
or eax, 5
mov dword [rbp - 0x39], eax
mov qword [rbp - 0x31], r14
mov byte [rbp - 0x41], 1
lea rdx, str.noResponse
lea rcx, [rbp - 0x29]
call fcn.180019830
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x59]
call fcn.180018fa0
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x51]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x51]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x59]
mov qword [rbx], rdx
mov qword [rbp - 0x59], rcx
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x51], r8d
lea rcx, [rbp - 0x59]
call fcn.180019100
nop
lea rcx, [rbp - 0x41]
call fcn.180019100
mov qword [rbp - 0x11], r14
lea r9, [rbp - 0x29]
lea r8, [rbp - 0x11]
mov rdx, rdi
lea rcx, [rbp - 9]
call fcn.18000df60
nop
mov eax, dword [0x180069c80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
cmp ecx, 4
jne 0x18000ded3
mov ecx, 4
call fcn.180029700
mov rbx, rax
call fcn.1800289f8
mov dword [rbx], eax
mov dword [0x180069c80], eax
mov rcx, rbx
call fcn.1800289b0
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, str.result
lea rcx, [rbp - 9]
call fcn.180019830
cmp byte [rax + 8], 5
jne 0x18000df12
lea rdx, str.result
lea rcx, [rbp - 9]
call fcn.180019830
mov rcx, rax
call fcn.1800193a0
test al, al
je 0x18000df12
mov bl, 1
jmp 0x18000df14
xor bl, bl
lea rcx, [rbp - 9]
call fcn.180019100
nop
lea rcx, [rbp - 0x29]
call fcn.180019100
movzx eax, bl
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1800289d0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret