Function at 0x1800a6e30
Capabilities:
Check internet connectivity via wininet
Create http request
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x890]
sub rsp, 0x990
mov rax, qword [0x1802aa100]
xor rax, rsp
mov qword [rbp + 0x888], rax
xor r8d, r8d
mov edx, 1
lea rbx, [0x1801d9315]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCheckConnectionA]
xor edi, edi
test eax, eax
je 0x1800a7642
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rdi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], dil
mov esi, edi
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rdi
xor r8d, r8d
lea rdx, [0x1801dd0b8]
lea rcx, [rbp + 0x30]
call fcn.18008e470
nop
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [0x1801dd0b8]
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r15, rax
test rax, rax
je 0x1800a732b
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 7
cmova rdx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x4800000
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov r14, rax
test rax, rax
je 0x1800a7321
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], dil
lea r9, [rsp + 0x30]
mov r8d, 0x800
lea rdx, [rbp + 0x70]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x1800a702f
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1800a702f
cmp rax, 0x801
jae 0x1800a76e7
mov byte [rbp + rax + 0x70], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rdi
lea rax, [rbp + 0x70]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800a6fa0
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.180079670
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x10]
call fcn.180078d00
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x1800a700f
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a700a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76e1
call fcn.180111140
lea r9, [rsp + 0x30]
mov r8d, 0x800
lea rdx, [rbp + 0x70]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1800a6f60
lea r12, vtable.Json::CharReaderBuilder.0
mov qword [rbp - 0x70], r12
mov byte [rbp - 0x60], 0
and dword [rbp - 0x60], 0xfffffeff
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rdi
lea rcx, [rbp - 0x68]
call fcn.180105630
nop
mov byte [rsp + 0x58], 0
and dword [rsp + 0x58], 0xfffffeff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp - 0x70]
call fcn.1801052e0
mov rbx, rax
mov qword [rbp - 0x40], rax
mov rax, qword [rax]
mov r10, qword [rax + 8]
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova r8, qword [rbp + 0x10]
add r8, qword [rbp + 0x20]
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rdx, qword [rbp + 0x10]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov rcx, rbx
call r10
test al, al
je 0x1800a73bd
lea r8, [0x1801dd0c0]
lea rdx, str.name
lea rcx, [rsp + 0x50]
call fcn.18010b190
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18010a750
mov rsi, rax
lea rax, [rbp - 0x10]
cmp rax, rsi
je 0x1800a7176
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1800a7148
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a7143
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76db
call fcn.180111140
mov qword [rbp], rdi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp], xmm1
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
lea rcx, [rbp - 0x30]
call fcn.180078ca0
lea rcx, [rbp - 0x10]
call fcn.180077b20
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.180078860
mov rcx, rax
call fcn.180077c40
mov esi, eax
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
test rbx, rbx
je 0x1800a71c0
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rbx
call r8
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1800a71fb
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a71f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76f3
call fcn.180111140
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov edx, dword [rsp + 0x58]
movzx ecx, dl
sub ecx, 4
je 0x1800a7259
sub ecx, 2
je 0x1800a7221
cmp ecx, 1
jne 0x1800a726b
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1800a726b
mov r8, qword [rbx]
mov r8, qword [r8 + 8]
mov rdx, rbx
mov rcx, rbx
call fcn.18010ba90
mov edx, 0x58
mov rcx, qword [rbx]
call fcn.180111140
mov edx, 0x10
mov rcx, rbx
call fcn.180111140
jmp 0x1800a726b
shr edx, 8
test dl, 1
je 0x1800a726b
mov rcx, qword [rsp + 0x50]
call fcn.180118c8c
mov qword [rsp + 0x50], rdi
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1800a72a3
lea r9, [fcn.180078810]
mov edx, 0x20
mov r8d, 3
mov rcx, rbx
call fcn.1801117c8
nop
mov edx, 0x60
mov rcx, rbx
call fcn.180111140
nop
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x68]
call fcn.18010b110
mov qword [rbp - 0x68], rdi
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x1800a72e6
lea r9, [fcn.180078810]
mov edx, 0x20
mov r8d, 3
mov rcx, rbx
call fcn.1801117c8
nop
mov edx, 0x60
mov rcx, rbx
call fcn.180111140
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1800a7321
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a731c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76f9
call fcn.180111140
mov rcx, r15
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x1800a736b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a7366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76ed
call fcn.180111140
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], di
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1800a73b6
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a73b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76d5
call fcn.180111140
mov eax, esi
jmp 0x1800a76a5
lea rax, str.Failed_to_parse_JSON_data:_0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x1e
lea rax, [0x1801dd080]
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], 0x37
lea rax, str.Cheat::update_check::GetLatest
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rsp + 0x78]
movaps xmmword [rbp - 0x30], xmm1
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x20], xmm0
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x1802cd228]
call fcn.1800a7710
nop
test rbx, rbx
je 0x1800a7440
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1800a747b
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a7476
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76f3
call fcn.180111140
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov edx, dword [rsp + 0x58]
movzx ecx, dl
sub ecx, 4
je 0x1800a74d9
sub ecx, 2
je 0x1800a74a1
cmp ecx, 1
jne 0x1800a74eb
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1800a74eb
mov r8, qword [rbx]
mov r8, qword [r8 + 8]
mov rdx, rbx
mov rcx, rbx
call fcn.18010ba90
mov edx, 0x58
mov rcx, qword [rbx]
call fcn.180111140
mov edx, 0x10
mov rcx, rbx
call fcn.180111140
jmp 0x1800a74eb
shr edx, 8
test dl, 1
je 0x1800a74eb
mov rcx, qword [rsp + 0x50]
call fcn.180118c8c
mov qword [rsp + 0x50], rdi
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1800a7523
lea r9, [fcn.180078810]
mov edx, 0x20
mov r8d, 3
mov rcx, rbx
call fcn.1801117c8
nop
mov edx, 0x60
mov rcx, rbx
call fcn.180111140
nop
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x68]
call fcn.18010b110
mov qword [rbp - 0x68], rdi
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x1800a7566
lea r9, [fcn.180078810]
mov edx, 0x20
mov r8d, 3
mov rcx, rbx
call fcn.1801117c8
nop
mov edx, 0x60
mov rcx, rbx
call fcn.180111140
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1800a75a1
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a759c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76f9
call fcn.180111140
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x1800a75f1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a75ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a76ff
call fcn.180111140
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], di
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1800a76a3
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a763b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7705
call fcn.180111140
jmp 0x1800a76a3
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea rax, [0x1801dd080]
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], 0x13
lea rax, str.Cheat::update_check::GetLatest
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rsp + 0x78]
movaps xmmword [rbp - 0x30], xmm1
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x20], xmm0
lea r9, [rsp + 0x40]
mov r8d, 3
lea rdx, [rbp - 0x30]
mov rcx, qword [0x1802cd228]
call fcn.18007d020
xor eax, eax
mov rcx, qword [rbp + 0x888]
xor rcx, rsp
call fcn.180111120
lea r11, [rsp + 0x990]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.180119044
nop
call fcn.180119044
nop
call fcn.180119044
int3
call fcn.180111630
nop
call fcn.180119044
nop
call fcn.180119044
nop
call fcn.180119044
nop
call fcn.180119044
nop
call fcn.180119044
int3