Function at 0x14002c360
Capabilities:
Get geographical location

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2b0
mov rax, qword [0x140045028]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x88], rcx
xor r14d, r14d
mov eax, r14d
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
movups xmmword [r11 - 0x78], xmm0
movdqa xmm1, xmmword [0x140039ca0]
movdqu xmmword [r11 - 0x68], xmm1
mov byte [r11 - 0x78], al
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
lea rax, [r11 - 0xf8]
mov qword [r11 - 0x108], rax
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
xor r8d, r8d
lea rdx, [0x140034d50]
lea rcx, [rsp + 0x30]
call fcn.1400027e0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], r14
xor r8d, r8d
lea rdx, [0x140034d50]
lea rcx, [rsp + 0x1e0]
call fcn.1400027e0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], r14
lea r8d, [r14 + 0x15]
lea rdx, str.http:__ipinfo.io_json
lea rcx, [rsp + 0x68]
call fcn.1400027e0
nop
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x1e0]
lea r8, [rsp + 0x260]
lea rdx, [rsp + 0x68]
xor ecx, ecx
call fcn.1400235c0
nop
mov qword [rsp + 0xc8], r14
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x1d0]
call fcn.140009dc0
nop
lea rcx, [0x140039a70]
mov qword [rsp + 0x280], rcx
lea rdi, str.country
mov qword [rsp + 0x288], rdi
lea rdi, str.city
mov qword [rsp + 0x290], rdi
lea r13, [rsp + 0x280]
lea rbx, [0x140000000]
movabs rsi, 0x8000000000000000
lea rax, [rsp + 0x298]
mov qword [rsp + 0x50], r13
xorps xmm0, xmm0
cmp r13, rax
je 0x14002c839
mov rdx, qword [r13]
movups xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14002c526
lea rcx, [rsp + 0x1e0]
call fcn.1400027e0
nop
lea r8, [rsp + 0x1d0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r14, rsi
movzx edx, byte [r8]
cmp edx, 9
ja case.0x14002c571.464
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x2cf14]
add rcx, rbx
jmp rcx
mov r14, rsi
cmp edx, 9
ja case.0x14002c585.0
mov ecx, dword [rbx + rdx*4 + 0x2cf3c]
add rcx, rbx
jmp rcx
mov r15, qword [r8 + 8]
mov r15, qword [r15]
jmp 0x14002c5ab
mov r12, qword [r8 + 8]
mov r12, qword [r12 + 8]
mov r15, qword [rsp + 0x70]
jmp 0x14002c5b0
mov r14d, 1
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
lea r8, [rsp + 0x1d0]
movdqu xmmword [rsp + 0x38], xmm0
movdqu xmmword [rsp + 0x40], xmm1
mov rdi, rsi
movzx edx, byte [r8]
cmp edx, 9
ja case.0x14002c5dd.464
movsxd rax, edx
mov ecx, dword [rbx + rax*4 + 0x2cf64]
add rcx, rbx
jmp rcx
mov rdi, rsi
cmp edx, 9
ja case.0x14002c5f1.0
mov ecx, dword [rbx + rdx*4 + 0x2cf8c]
add rcx, rbx
jmp rcx
mov rbx, qword [r8 + 8]
mov rbx, qword [rbx]
jmp 0x14002c615
mov rsi, qword [r8 + 8]
mov rsi, qword [rsi + 8]
mov rbx, qword [rsp + 0x38]
jmp 0x14002c61a
mov edi, 1
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
cmp byte [rsp + 0x1d0], 1
jne 0x14002c672
mov r13, qword [rsp + 0x1d8]
lea r8, [rsp + 0x1e0]
lea rdx, [rsp + 0x68]
mov rcx, r13
call fcn.140011c10
mov rbx, qword [rsp + 0x78]
cmp byte [rbx + 0x19], 0
jne 0x14002c661
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x1e0]
call fcn.1400146e0
test al, al
je 0x14002c665
mov rbx, qword [r13]
mov r13, qword [rsp + 0x50]
lea r8, [rsp + 0x1d0]
lea rax, [rsp + 0x1d0]
cmp r8, rax
jne 0x14002cdfd
movzx eax, byte [r8]
cmp eax, 9
ja case.0x14002c69d.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x2cfb4]
add rcx, rdx
jmp rcx
cmp rbx, r15
jmp 0x14002c6ac
cmp rsi, r12
jmp 0x14002c6ac
cmp rdi, r14
sete al
test al, al
je 0x14002c7e7
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
lea r8d, [rbx + 0x15]
lea rdx, str.Computer::GetLocation
lea rcx, [rsp + 0x30]
call fcn.1400027e0
lea r8, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 0x10
cmovae r8, qword [rsp + 0x1e0]
lea rdx, str.Key__s_was_not_found_in_API_data
lea rcx, [rsp + 0x30]
call fcn.14001dc60
nop
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0x10
jb 0x14002c74f
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c74a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002c821
call fcn.14002ec3c
mov qword [rsp + 0x1f0], rbx
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], 0
movzx edx, byte [rsp + 0x1d0]
lea rcx, [rsp + 0x1d8]
call fcn.140008770
nop
mov rdx, qword [rsp + 0x278]
cmp rdx, 0x10
jb 0x14002c7c7
inc rdx
mov rcx, qword [rsp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c7c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002c7c2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
movdqa xmm0, xmmword [0x140039ca0]
movdqu xmmword [rsp + 0x270], xmm0
mov byte [rsp + 0x260], 0
xor al, al
jmp 0x14002cdd0
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0x10
jb 0x14002c82d
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c828
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002c828
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
add r13, 8
xor r14d, r14d
jmp 0x14002c4d9
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 2
lea rdx, [0x140039a70]
lea rcx, [rsp + 0x30]
call fcn.1400027e0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1d0]
call fcn.14000b820
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x250], r14
mov qword [rsp + 0x258], 0xf
mov byte [rsp + 0x240], 0
mov ebx, dword [rsp + 0x58]
or ebx, 0x20
mov dword [rsp + 0x50], ebx
cmp byte [rax], 3
jne 0x14002ce3b
mov r8, qword [rax + 8]
lea rax, [rsp + 0x240]
cmp rax, r8
je 0x14002c8dc
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14002c8cb
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rsp + 0x240]
call fcn.140003ff0
and ebx, 0xffffffdf
or ebx, 0x18
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], r14
mov r8d, 7
lea rdx, str.country
lea rcx, [rsp + 0x1e0]
call fcn.1400027e0
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x1d0]
call fcn.14000b820
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x230], r14
mov qword [rsp + 0x238], 0xf
mov byte [rsp + 0x220], 0
bts ebx, 8
mov dword [rsp + 0x50], ebx
cmp byte [rax], 3
jne 0x14002ce82
mov r8, qword [rax + 8]
lea rax, [rsp + 0x220]
cmp rax, r8
je 0x14002c994
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14002c983
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rsp + 0x220]
call fcn.140003ff0
btr ebx, 8
or ebx, 0xc0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 4
lea rdx, str.city
lea rcx, [rsp + 0x30]
call fcn.1400027e0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1d0]
call fcn.14000b820
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], 0xf
mov byte [rsp + 0x200], 0
or ebx, 4
mov dword [rsp + 0x50], ebx
cmp byte [rax], 3
jne 0x14002cec9
mov r8, qword [rax + 8]
lea rax, [rsp + 0x200]
cmp rax, r8
je 0x14002ca41
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14002ca2f
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rsp + 0x200]
call fcn.140003ff0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xa8], 0xf
mov byte [rsp + 0x90], 0
movups xmmword [rsp + 0xb0], xmm0
movdqa xmm1, xmmword [0x140039ca0]
movdqa xmmword [rsp + 0xc0], xmm1
mov byte [rsp + 0xb0], 0
movups xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xe0], xmm1
mov byte [rsp + 0xd0], 0
lea rdx, [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov rcx, rsi
call fcn.140018820
lea rbx, [rsi + 0x20]
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.140018820
lea rdi, [rsi + 0x40]
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.140018820
lea rcx, [rsp + 0x90]
call fcn.140020fc0
lea rax, [rsp + 0x240]
cmp rsi, rax
je 0x14002cb26
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 0x10
cmovae rdx, qword [rsp + 0x240]
mov r8, qword [rsp + 0x250]
mov rcx, rsi
call fcn.140003ff0
lea rax, [rsp + 0x220]
cmp rbx, rax
je 0x14002cb5d
lea rdx, [rsp + 0x220]
cmp qword [rsp + 0x238], 0x10
cmovae rdx, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
mov rcx, rbx
call fcn.140003ff0
lea rax, [rsp + 0x200]
cmp rdi, rax
je 0x14002cb94
lea rdx, [rsp + 0x200]
cmp qword [rsp + 0x218], 0x10
cmovae rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x210]
mov rcx, rdi
call fcn.140003ff0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8d, 0x15
lea rdx, str.Computer::GetLocation
lea rcx, [rsp + 0x30]
call fcn.1400027e0
lea rax, [rsp + 0x200]
cmp qword [rsp + 0x218], 0x10
cmovae rax, qword [rsp + 0x200]
lea r9, [rsp + 0x220]
cmp qword [rsp + 0x238], 0x10
cmovae r9, qword [rsp + 0x220]
lea r8, [rsp + 0x240]
cmp qword [rsp + 0x258], 0x10
cmovae r8, qword [rsp + 0x240]
mov qword [rsp + 0x20], rax
lea rdx, str.Got_location__IP:__s__Country:__s__City:__s_
lea rcx, [rsp + 0x30]
call fcn.14001da20
nop
mov rdx, qword [rsp + 0x218]
cmp rdx, 0x10
jb 0x14002cc68
inc rdx
mov rcx, qword [rsp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cc63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002cc63
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], 0xf
mov byte [rsp + 0x200], 0
mov rdx, qword [rsp + 0x238]
cmp rdx, 0x10
jb 0x14002ccca
inc rdx
mov rcx, qword [rsp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ccc5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002ccc5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
mov qword [rsp + 0x230], r14
mov qword [rsp + 0x238], 0xf
mov byte [rsp + 0x220], 0
mov rdx, qword [rsp + 0x258]
cmp rdx, 0x10
jb 0x14002cd2c
inc rdx
mov rcx, qword [rsp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002cd27
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
mov qword [rsp + 0x250], r14
mov qword [rsp + 0x258], 0xf
mov byte [rsp + 0x240], 0
movzx edx, byte [rsp + 0x1d0]
lea rcx, [rsp + 0x1d8]
call fcn.140008770
nop
mov rdx, qword [rsp + 0x278]
cmp rdx, 0x10
jb 0x14002cda4
inc rdx
mov rcx, qword [rsp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002cd9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002ec3c
movdqa xmm0, xmmword [0x140039ca0]
movdqu xmmword [rsp + 0x270], xmm0
mov byte [rsp + 0x260], 0
mov al, 1
jmp 0x14002cdd0
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.14002eb10
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rdx, str.cannot_compare_iterators_of_different_containers
lea rcx, [rsp + 0x30]
call fcn.140002490
nop
lea r8, [rsp + 0x30]
mov edx, 0xd4
lea rcx, [rsp + 0xf0]
call fcn.140014380
lea rdx, [0x140041d60]
lea rcx, [rsp + 0xf0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, rax
call fcn.1400093a0
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.140022670
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x128]
call fcn.140009ee0
lea rdx, [0x140041d00]
lea rcx, [rsp + 0x128]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, rax
call fcn.1400093a0
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.140022670
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x160]
call fcn.140009ee0
lea rdx, [0x140041d00]
lea rcx, [rsp + 0x160]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, rax
call fcn.1400093a0
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x1e0]
call fcn.140022670
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x198]
call fcn.140009ee0
lea rdx, [0x140041d00]
lea rcx, [rsp + 0x198]
call sub.VCRUNTIME140.dll__CxxThrowException
int3