Function at 0x140014ab0
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov r11, rsp
push rsi
push rdi
push r14
sub rsp, 0x80
mov qword [r11 - 0x60], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov rax, qword [0x1400a0088]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x30], rcx
mov qword [r11 - 0x50], rdx
movdqa xmm0, xmmword [0x14008dab0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
xor r14d, r14d
mov dword [r11 - 0x78], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.FLiNGTrainer
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140014b28
mov rdx, qword [rdi]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbp, rax
test rax, rax
je 0x140014ca6
mov ecx, 0x4000
call fcn.140030118
mov rbx, rax
test rax, rax
je 0x140014b71
xor edx, edx
mov r8d, 0x4000
mov rcx, rax
call fcn.14004e070
jmp 0x140014b74
mov rbx, r14
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x30], r14d
lea r9, [rsp + 0x30]
mov r8d, 0x3fff
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140014be5
nop dword [rax]
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140014be5
mov byte [rax + rbx], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x140014bb3
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140002310
lea r9, [rsp + 0x30]
mov r8d, 0x3fff
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140014ba0
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm0, xmmword [0x14008dab0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
test rbx, rbx
je 0x140014c17
mov rcx, rbx
call fcn.14002fdf4
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140014c54
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014c4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014d9a
call fcn.14002fdf4
movdqa xmm0, xmmword [0x14008dab0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140014d51
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140014d4c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140014d8e
jmp 0x140014d49
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsi], r14b
mov r8d, 5
lea rdx, str.ERROR
mov rcx, rsi
call fcn.1400021c0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140014d08
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014d03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014d88
call fcn.14002fdf4
movdqa xmm0, xmmword [0x14008dab0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140014d51
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140014d4c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140014d94
mov rcx, r8
call fcn.14002fdf4
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov rax, rsi
mov byte [rdi], 0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14002fdd0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.140051164
nop
call fcn.140051164
int3
call fcn.140051164
nop
call fcn.140051164
int3