Function at 0x14008ee5e
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5b8
mov r15, rcx
movzx eax, byte [rdx]
cmp rax, 0x14
je 0x14008f338
cmp eax, 0x15
jne 0x14008f67b
mov qword [rsp + 0x28], r15
mov r12, qword [rdx + 8]
mov r13, qword [rdx + 0x18]
shl r13, 6
add r13, r12
lea rax, [rsp + 0x70]
mov qword [rax], r12
mov qword [rax + 8], r13
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
lea rax, [rsp + 0x90]
and qword [rax], 0
lea rax, [rsp + 0xb0]
and qword [rax], 0
lea rax, [rsp + 0x38]
and qword [rax], 0
lea rax, [rsp + 0xe8]
and qword [rax - 8], 0
lea rax, [rsp + 0x108]
and qword [rax - 8], 0
lea rax, [rsp + 0x350]
mov qword [rax - 0x10], 4
mov edi, 4
xor eax, eax
mov qword [rsp + 0x68], rax
lea r15, [0x14031bbe8]
lea rsi, [0x14031bc24]
lea rbx, [rsp + 0x130]
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
test r12, r12
je 0x14008f37b
cmp r12, r13
je 0x14008f37b
lea rax, [r12 + 0x40]
mov qword [rsp + 0x70], rax
lea r13, [r12 + 0x20]
inc qword [rsp + 0x88]
mov qword [rsp + 0x80], r13
movzx eax, byte [r12]
dec rax
cmp rax, 0xe
ja case.0x14008ef84.2
movsxd rax, dword [r15 + rax*4]
add rax, r15
jmp rax
movzx eax, byte [r12 + 1]
cmp al, 6
mov ecx, 6
cmovae eax, ecx
jmp 0x14008efff
mov rax, qword [r12 + 8]
cmp rax, 6
mov ecx, 6
cmovae rax, rcx
jmp 0x14008efff
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x18]
jmp 0x14008efc2
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
mov rcx, rbx
call fcn.14003d345
jnp 0x14008efab
cli
invalid
jmp 0x14008efea
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x18]
jmp 0x14008efe2
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
mov rcx, rbx
call fcn.14003d17b
cmp byte [rsp + 0x130], 0
jne 0x14008f42c
mov al, byte [rsp + 0x131]
cmp al, 5
ja case.default.0x14008f00d
movzx eax, al
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
cmp qword [rsp + 0x68], 0
jne 0x14008fa61
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.140066e40
mov r13, qword [rsp + 0x130]
add byte [rbx + rcx*4 - 0x5c], cl
and al, 0x38
add dword [rax], eax
add byte [rbp - 0x7b], cl
in eax, dx
je 0x14008f434
mov r14, qword [rsp + 0x140]
lea rcx, [rsp + 0x90]
call fcn.140062b2f
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r12
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x68], r13
jmp 0x14008f329
and qword [rsp + 0x80], 0
mov rcx, r13
call fcn.1400666c6
jmp 0x14008f329
cmp qword [rsp + 0x60], 0
jne 0x14008fa6a
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.140066e40
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
test r13, r13
je 0x14008f434
mov r14, qword [rsp + 0x140]
lea rcx, [rsp + 0xb0]
call fcn.140062b2f
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0x60], r13
jmp 0x14008f329
cmp qword [rsp + 0x30], 0
jne 0x14008fa78
and qword [rsp + 0x80], 0
mov rcx, r13
call fcn.1400666c6
mov rcx, rbx
mov rdx, r13
call fcn.14009c561
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
test r13, r13
je 0x14008f434
mov r14, qword [rsp + 0x140]
lea rcx, [rsp + 0x38]
call fcn.140060910
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x30], r13
jmp 0x14008f329
cmp qword [rsp + 0x50], 0
jne 0x14008fa86
and qword [rsp + 0x80], 0
mov rcx, r13
call fcn.1400666c6
mov rcx, rbx
mov rdx, r13
call fcn.14009e578
cmp qword [rsp + 0x130], 0
mov r12, qword [rsp + 0x138]
jne 0x14008f434
lea rax, [rsp + 0x140]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x250], xmm0
lea rcx, [rsp + 0xe0]
call fcn.14006466b
mov qword [rsp + 0xe0], 1
mov rax, r12
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xe8], r12
movaps xmm0, xmmword [rsp + 0x250]
lea rax, [rsp + 0xe8]
movups xmmword [rax + 8], xmm0
mov eax, 1
mov qword [rsp + 0x50], rax
jmp 0x14008f329
cmp qword [rsp + 0x58], 0
jne 0x14008fa94
and qword [rsp + 0x80], 0
mov rcx, r13
call fcn.1400666c6
mov rcx, rbx
mov rdx, r13
call fcn.14009c7bb
cmp qword [rsp + 0x130], 0
mov r12, qword [rsp + 0x138]
jne 0x14008f434
lea rax, [rsp + 0x140]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x250], xmm0
lea rcx, [rsp + 0x100]
call fcn.1400615d0
mov qword [rsp + 0x100], 1
mov rax, r12
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0x108], r12
movaps xmm0, xmmword [rsp + 0x250]
lea rax, [rsp + 0x108]
movups xmmword [rax + 8], xmm0
mov eax, 1
mov qword [rsp + 0x58], rax
jmp 0x14008f329
cmp rdi, 4
jne 0x14008faad
and qword [rsp + 0x80], 0
mov rcx, r13
call fcn.1400666c6
mov rcx, rbx
mov rdx, r13
call fcn.140091c7a
mov rdi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
cmp rdi, 4
je 0x14008f69e
mov r8d, pe_nt_image_headers64
lea r14, [rsp + 0x250]
mov rcx, r14
lea rdx, [rsp + 0x140]
call fcn.1402698b0
mov qword [rsp + 0x340], rdi
mov qword [rsp + 0x348], rbp
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x350]
mov rdx, r14
call fcn.1402698b0
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
jmp 0x14008ef3a
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x18]
shl rcx, 5
add rcx, rax
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
and qword [rdx + 0x10], 0
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.140067cca
cmp qword [rdi], 0
je 0x14008f3cd
mov rdi, qword [rsp + 0x138]
jmp 0x14008f915
cmp qword [rsp + 0x68], 0
sete sil
je 0x14008f716
cmp qword [rsp + 0x60], 0
sete bl
mov r15, qword [rsp + 0x30]
je 0x14008f7b6
test r15, r15
je 0x14008f7cc
cmp qword [rsp + 0x50], 0
je 0x14008f53f
lea rax, [rsp + 0xe8]
movups xmm0, xmmword [rax + 8]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x14008f549
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x230], xmm0
test rax, rax
je 0x14008f731
movaps xmm0, xmmword [rsp + 0x230]
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x70], rax
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.140067cca
cmp qword [rdi], 0
je 0x14008f4da
mov rdi, qword [rsp + 0x138]
jmp 0x14008f90b
mov r12, qword [rsp + 0x138]
mov bl, 1
mov sil, 1
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov rbp, r12
cmp rdi, 4
je 0x14008f45c
lea rcx, [rsp + 0x340]
call fcn.140064fb0
mov rbp, r12
cmp qword [rsp + 0x58], 0
je 0x14008f471
lea rcx, [rsp + 0x108]
call fcn.140060a81
cmp qword [rsp + 0x50], 0
je 0x14008f486
lea rcx, [rsp + 0xe8]
call fcn.140062b2f
test r15, r15
je 0x14008f495
lea rcx, [rsp + 0x38]
call fcn.140064ef6
cmp qword [rsp + 0x60], 0
setne al
test bl, al
je 0x14008f4af
lea rcx, [rsp + 0xb0]
call fcn.1400eb7d6
cmp qword [rsp + 0x68], 0
setne al
test sil, al
je 0x14008f4ca
lea rcx, [rsp + 0x90]
call fcn.1400eb7d6
mov qword [r14 + 8], rbp
mov qword [r14], 4
jmp 0x14008f920
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x240], xmm0
test rax, rax
je 0x14008f934
movaps xmm0, xmmword [rsp + 0x240]
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xe0], rax
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.140067889
cmp qword [rdi], 0
je 0x14008f6b2
mov rdi, qword [rsp + 0x138]
jmp 0x14008f8fe
xor eax, eax
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0x58], 0
je 0x14008f567
lea rax, [rsp + 0x108]
movups xmm0, xmmword [rax + 8]
movaps xmmword [rsp + 0x250], xmm0
jmp 0x14008f571
xor eax, eax
mov qword [rsp + 0xd8], rax
mov esi, 3
cmp rdi, 4
je 0x14008f59a
lea rcx, [rsp + 0x130]
mov r8d, pe_nt_image_headers64
lea rdx, [rsp + 0x350]
call fcn.1402698b0
mov rsi, rdi
mov rax, qword [rsp + 0xa0]
lea rdi, [rsp + 0x450]
mov qword [rdi + 0x100], rax
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rdi + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rdi + 0x108], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rdi + 0x118], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi + 0x120], xmm0
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x130], rax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rdi + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x250]
test byte [rax + rdx*2], ah
add al, byte [rax]
add byte [rdi], cl
adc dword [rdi + 0x158], eax
lea rdx, [rsp + 0x130]
mov r8d, pe_nt_image_headers64
mov rcx, rdi
call fcn.1402698b0
mov qword [rdi - 0x10], rsi
mov qword [rdi - 8], rbp
mov rax, qword [rsp + 0xd0]
mov qword [rdi + 0x138], rax
mov rax, qword [rsp + 0xd8]
mov qword [rdi + 0x150], rax
test r12, r12
je 0x14008f65e
cmp r12, r13
jne 0x14008f804
lea rdx, [rsp + 0x440]
mov r8d, 0x178
mov rcx, qword [rsp + 0x28]
call fcn.1402698b0
jmp 0x14008f920
lea r8, [0x140275458]
lea rax, [rsp + 0x250]
mov rcx, rdx
mov rdx, rax
call fcn.14026d339
add byte [rcx - 0x77], cl
or r9b, r13b
jnp 0x14008f69e
add byte [rax], al
mov sil, 1
mov bl, 1
mov r14, qword [rsp + 0x28]
and al, 0x28
mov r15, qword [rsp + 0x30]
jmp 0x14008f45c
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x120], xmm0
test rax, rax
test eax, eax
je 0x14008fad5
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x108], xmm0
mov qword [rsp + 0x100], rax
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.1400676ce
mov rcx, qword [rdi]
cmp rcx, 2
jne 0x14008f74e
mov rdi, qword [rsp + 0x138]
jmp 0x14008f8f1
lea rcx, [0x1402e858d]
mov edx, 5
call fcn.14026d161
mov r12, rax
mov bl, 1
jmp 0x14008f439
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
xor ecx, ecx
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008f915
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x90], xmm0
test rcx, rcx
test ecx, ecx
je 0x14008fb0b
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x258], xmm0
mov qword [rsp + 0x250], rax
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.14006756d
mov rcx, qword [rdi]
cmp rcx, 2
jne 0x14008f852
mov rdi, qword [rsp + 0x138]
jmp 0x14008f8e4
lea rcx, [0x1402e8592]
mov edx, 0xb
call fcn.14026d161
mov r12, rax
jmp 0x14008f7ed
lea rcx, [0x1402e877e]
mov edx, 5
call fcn.14026d161
mov r12, rax
lea rcx, [rsp + 0xb0]
call fcn.1400eb7d6
lea rcx, [rsp + 0x90]
call fcn.1400eb7d6
mov edi, 0x8b4c0005
je 0x14008f822
sub cl, ch
invalid
cld
invalid
invalid
mov rax, qword [rsp + 0x88]
sub r13, r12
shr r13, 6
add r13, rax
lea rdx, [rsp + 0x130]
mov qword [rdx], rax
lea r8, [0x14027bef0]
mov rcx, r13
call fcn.14026d1b7
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov qword [rcx], 4
lea rcx, [rsp + 0x440]
call fcn.140062e1f
jmp 0x14008f920
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xb0], xmm0
test rcx, rcx
je 0x14008fb2b
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x348], xmm0
mov qword [rsp + 0x340], rax
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x14008fb4b
cmp rdx, qword [rsp + 0x40]
je 0x14008fb4b
lea rax, [rdx + 0x20]
mov qword [rsp + 0x38], rax
and al, 0x38
inc qword [rsp + 0x48]
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.140091c7a
mov rsi, qword [rdi]
cmp rsi, 4
jne 0x14008f951
mov rdi, qword [rsp + 0x138]
lea rcx, [rsp + 0x340]
call fcn.140060a81
lea rcx, [rsp + 0x250]
call fcn.140062b2f
lea rcx, [rsp + 0x100]
call fcn.140064ef6
lea rcx, [rsp + 0xe0]
call fcn.1400eb7d6
lea rcx, [rsp + 0x70]
call fcn.1400eb7d6
mov qword [r15 + 8], rdi
mov qword [r15], 4
add rsp, 0x5b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
mov ecx, 1
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008f90b
lea rdi, [rsp + 0x140]
mov r14, qword [rdi - 8]
lea rbx, [rsp + 0x450]
mov r8d, pe_nt_image_headers64
mov rcx, rbx
mov rdx, rdi
call fcn.1402698b0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx + 0xf0], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x100], rax
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rbx + 0x108], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rbx + 0x118], rax
movups xmm0, xmmword [rsp + 0x100]
test byte [rax + rax], ah
add dword [rax], eax
add byte [rdi], cl
adc dword [rbx + 0x120], eax
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x130], rax
movups xmm0, xmmword [rsp + 0x250]
movups xmmword [rbx + 0x138], xmm0
mov rax, qword [rsp + 0x260]
mov qword [rbx + 0x148], rax
mov rax, qword [rsp + 0x350]
mov qword [rbx + 0x160], rax
movups xmm0, xmmword [rsp + 0x340]
movups xmmword [rbx + 0x150], xmm0
mov qword [rbx - 0x10], rsi
mov qword [rbx - 8], r14
mov rax, qword [rsp + 0x48]
mov qword [rdi], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rdi - 0x10], xmm0
lea rcx, [rsp + 0x130]
call fcn.14006ff44
test rax, rax
je 0x14008faf5
mov qword [r15 + 8], rax
mov qword [r15], 4
jmp 0x14008f840
lea r8, [0x1402757d8]
lea rdx, [rsp + 0x250]
mov rcx, r12
call fcn.14026d339
jmp 0x14008faa5
lea rcx, [0x1402e858d]
jmp 0x14008fa7f
lea rcx, [0x1402e8592]
mov edx, 0xb
jmp 0x14008faa0
lea rcx, [0x1402e877e]
mov edx, 5
jmp 0x14008faa0
lea rcx, [0x1402e84ff]
mov edx, 4
jmp 0x14008faa0
lea rcx, [0x1402e8cfa]
mov edx, 0xd
call fcn.14026d227
mov r12, rax
jmp 0x14008f434
lea rcx, [0x1402e86f5]
mov edx, 9
call fcn.14026d227
mov r12, rax
mov sil, 1
mov bl, 1
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
jmp 0x14008f44c
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
mov ecx, 2
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008f8fe
lea rdx, [rsp + 0x440]
mov r8d, 0x178
mov rcx, r15
jmp 0x14008f671
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
mov ecx, 3
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008f8f1
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
mov ecx, 4
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008f8e4
lea rdx, [0x140279630]
lea r8, [0x140273eb8]
mov ecx, 5
call fcn.14026d1b7
mov rdi, rax
jmp case.0x140077d8d.907