Function at 0x1401aa0c0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x14038d940]
xor rax, rsp
mov qword [rbp + 0x148], rax
mov rsi, r9
movsxd r15, r8d
mov rbx, rdx
mov r12, rcx
mov qword [rsp + 0x30], rdx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
movzx eax, byte [0x140397309]
nop
cmp al, 0xfe
jg 0x1401aa11a
mov edi, r14d
jmp 0x1401aa148
mov ecx, dword [0x140398168]
mov rax, qword gs:[0x58]
mov edx, 0x58
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x140397398], ecx
jg 0x1401aaab2
lea rdi, [0x140397378]
cmp r15d, 0x2e
ja case.0x1401aa164.15
lea rdx, [0x140000000]
mov ecx, dword [rdx + r15*4 + 0x1aab14]
add rcx, rdx
jmp rcx
mov r8d, 0xe
lea rdx, [rbp + 0xc0]
mov rcx, rdi
call fcn.1401a97b0
nop
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.1400b6070
cmp qword [rax + 0x10], 0
jne 0x1401aa1b0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
and rax, 0xfffffffffffffffe
or rax, 2
and eax, 3
mov qword [rbx + 0x18], rax
jmp 0x1401aa1bb
mov rdx, rax
mov rcx, rbx
call fcn.1400b0420
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x1401aa1de
mov rdi, 0xffffffffffffffff
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aa1de
mov rcx, qword [rbp - 0x20]
call fcn.1402275a0
nop
lea rcx, [rbp + 0xc0]
call fcn.1400b0960
jmp 0x1401aaa5f
mov r8d, 0xf
mov rdx, rbx
mov rcx, rdi
call fcn.1401a97b0
jmp 0x1401aaa5f
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9db0
jmp 0x1401aaa5f
mov r8d, 0x50
lea rdx, [rbp + 0xe0]
mov rcx, rdi
call fcn.1401a97b0
nop
lea rdx, [rbp - 8]
mov rcx, rax
call fcn.1400b6070
cmp qword [rax + 0x10], 0
jne 0x1401aa25f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
and rax, 0xfffffffffffffffe
or rax, 2
and eax, 3
mov qword [rbx + 0x18], rax
jmp 0x1401aa26a
mov rdx, rax
mov rcx, rbx
call fcn.1400b0420
mov rax, qword [rbp - 8]
test rax, rax
je 0x1401aa28d
mov rdi, 0xffffffffffffffff
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aa28d
mov rcx, qword [rbp - 8]
call fcn.1402275a0
nop
lea rcx, [rbp + 0xe0]
call fcn.1400b0960
jmp 0x1401aaa5f
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1401a8c50
jmp 0x1401aaa5f
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401a8c50
jmp 0x1401aaa5f
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1401ab3a0
jmp 0x1401aaa5f
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401ab3a0
jmp 0x1401aaa5f
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1401a8e90
jmp 0x1401aaa5f
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401a8e90
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
xor r9d, r9d
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9160
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
mov r9d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9160
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
mov r9d, 2
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9160
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
xor r9d, r9d
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9be0
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
xor r9d, r9d
mov rdx, rbx
mov rcx, rdi
call fcn.1401aae00
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
mov r9d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401a9be0
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b59f0
mov r8d, eax
mov r9d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1401aae00
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b5770
mov r9d, 1
mov r8, qword [rax]
mov rdx, rbx
mov rcx, rdi
call fcn.1401ac2a0
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b5770
xor r9d, r9d
mov r8, qword [rax]
mov rdx, rbx
mov rcx, rdi
call fcn.1401ac2a0
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b6240
mov r9d, 1
mov r8d, dword [rax]
mov rdx, rbx
mov rcx, rdi
call fcn.1401ac500
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b6240
xor r9d, r9d
mov r8d, dword [rax]
mov rdx, rbx
mov rcx, rdi
call fcn.1401ac500
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b5830
nop
mov r9d, 1
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call fcn.1401abfb0
nop
lea rcx, [rsp + 0x28]
call fcn.1400fcef0
jmp 0x1401aaa5f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400b5830
nop
xor r9d, r9d
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call fcn.1401abfb0
nop
lea rcx, [rsp + 0x28]
call fcn.1400fcef0
jmp 0x1401aaa5f
mov rdx, rbx
mov rcx, rdi
call fcn.1401ae590
jmp 0x1401aaa5f
mov edx, 0x400
lea rcx, [rbp + 0x10]
call fcn.1401a99c0
mov rdi, rax
mov rsi, qword [rax + 0x10]
mov rcx, rax
call fcn.140042b10
test al, al
jne 0x1401aa53b
mov rax, qword [rdi + 8]
lea r14, [0x14025ad40]
test rax, rax
cmovne r14, rax
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r14
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x68]
call fcn.14008d3f0
mov esi, 8
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rcx
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x40], xmm0
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x50]
call fcn.14011c5d0
mov r13d, dword [rax]
mov dword [rsp + 0x30], r13d
movzx r14d, word [rax + 4]
lea rdi, [rsi - 9]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1401aa5b6
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1401aa5b2
mov rcx, qword [rsp + 0x68]
call fcn.1402275a0
mov esi, dword [rsp + 0x20]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1401aa5d5
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aa5d1
mov rcx, qword [rbp + 0x10]
call fcn.1402275a0
mov esi, dword [rsp + 0x20]
test r15d, r15d
jne 0x1401aa5eb
movzx edx, r13w
mov rcx, rbx
call fcn.1400b04a0
jmp 0x1401aaa5f
cmp r15d, 0x24
jne 0x1401aa64a
movzx eax, word [rsp + 0x32]
test ax, ax
jne 0x1401aa623
mov rax, qword [r12]
lea rdx, [rsp + 0x28]
mov rcx, r12
mov rax, qword [rax + 0x10]
call qword [case.0x1400f4c10.0]
nop
mov esi, 0xa
mov dword [rsp + 0x20], esi
mov rcx, rax
call fcn.14011fe20
movzx edx, ax
mov rcx, rbx
call fcn.1400b04a0
or esi, 1
test sil, 2
je 0x1401aaa5f
lea rcx, [rsp + 0x28]
call fcn.140116bc0
jmp 0x1401aaa5f
test r14w, r14w
jne 0x1401aa67c
mov rax, qword [r12]
lea rdx, [rsp + 0x28]
mov rcx, r12
mov rax, qword [rax + 0x10]
call qword [case.0x1400f4c10.0]
nop
mov esi, 0xc
mov dword [rsp + 0x20], esi
mov rcx, rax
call fcn.1401205d0
movzx r14d, ax
movzx edx, r14w
mov rcx, rbx
call fcn.1400b04a0
or esi, 1
test sil, 4
je 0x1401aaa5f
lea rcx, [rsp + 0x28]
call fcn.140116bc0
jmp 0x1401aaa5f
mov r9d, 2
lea r8, [rsp + 0x28]
lea edx, [r9 + 0xb]
mov ecx, dword [rdi]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1401aa6d3
cmp word [rsp + 0x28], 0x31
jne 0x1401aa6d3
cmp word [rsp + 0x2a], 0
je 0x1401aa995
xor edx, edx
mov rcx, rbx
call fcn.1400b04a0
jmp 0x1401aaa5f
mov r8d, 0x7b
mov rdx, rbx
mov rcx, rdi
call fcn.1401a97b0
jmp 0x1401aaa5f
mov r9d, 0xf
lea r8, [rbp + 0x108]
lea edx, [r9 + 0x19]
mov ecx, dword [rdi]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je case.0x1401aa164.15
mov rdi, 0xffffffffffffffff
mov r8, rdi
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0x28]
call fcn.14008d720
nop
mov rcx, qword [rax]
mov qword [rax], r14
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 8]
mov qword [rax + 8], r14
mov qword [rsp + 0x40], rcx
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rsp + 0x48], rcx
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1401aa776
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1401aa776
mov rcx, qword [rbp + 0x28]
call fcn.1402275a0
cmp qword [rsp + 0x48], 0
jne 0x1401aa79f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
and rax, 0xfffffffffffffffe
or rax, 2
and eax, 3
mov qword [rbx + 0x18], rax
jmp 0x1401aa7ac
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.1400b0420
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401aaa5f
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aaa5f
mov rcx, qword [rsp + 0x38]
call fcn.1402275a0
jmp 0x1401aaa5f
mov r9d, 0xf
lea r8, [rbp + 0x128]
lea edx, [r9 + 0x1a]
mov ecx, dword [rdi]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je case.0x1401aa164.15
mov rdi, 0xffffffffffffffff
mov r8, rdi
lea rdx, [rbp + 0x128]
lea rcx, [rbp + 0x40]
call fcn.14008d720
nop
mov rcx, qword [rax]
mov qword [rax], r14
mov qword [rsp + 0x50], rcx
mov rcx, qword [rax + 8]
mov qword [rax + 8], r14
mov qword [rsp + 0x58], rcx
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rsp + 0x60], rcx
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1401aa854
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1401aa854
mov rcx, qword [rbp + 0x40]
call fcn.1402275a0
cmp qword [rsp + 0x60], 0
jne 0x1401aa87d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
and rax, 0xfffffffffffffffe
or rax, 2
and eax, 3
mov qword [rbx + 0x18], rax
jmp 0x1401aa88a
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400b0420
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1401aaa5f
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aaa5f
mov rcx, qword [rsp + 0x50]
call fcn.1402275a0
jmp 0x1401aaa5f
mov r9d, 4
lea r8, [rbp + 0x100]
mov edx, 0x100c
mov ecx, dword [rdi]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1401aa995
mov rdi, 0xffffffffffffffff
mov r8, rdi
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x70]
call fcn.14008d720
nop
mov r15, qword [rax]
mov qword [rax], r14
mov qword [rbp + 0x58], r15
mov rsi, qword [rax + 8]
mov qword [rax + 8], r14
mov qword [rbp + 0x60], rsi
mov r12, qword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rbp + 0x68], r12
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1401aa931
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1401aa931
mov rcx, qword [rbp + 0x70]
call fcn.1402275a0
nop
mov qword [rbp - 0x60], r12
mov rax, r14
test rsi, rsi
cmovne rax, rsi
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x30], xmm0
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rbp - 0x30]
call fcn.140092fb0
mov ecx, eax
cmp rcx, rax
cmove r14d, eax
lea edx, [r14 + 1]
mov rcx, rbx
call fcn.1400b04d0
nop
test r15, r15
je 0x1401aaa5f
lock xadd dword [r15], edi
cmp edi, 1
jne 0x1401aaa5f
mov rcx, r15
call fcn.1402275a0
jmp 0x1401aaa5f
mov edx, 1
mov rcx, rbx
call fcn.1400b04a0
jmp 0x1401aaa5f
xor edx, edx
mov rcx, rsi
call fcn.1400b62f0
mov r8d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.1401a8810
jmp 0x1401aaa5f
mov rdx, rsi
lea rcx, [rbp + 0x88]
call fcn.1401a7a30
nop
lea r8, [rbp + 0x88]
mov rdx, rbx
mov rcx, rdi
call fcn.1401ab5e0
nop
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x1401aaa0f
mov rdi, 0xffffffffffffffff
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1401aaa0f
mov rcx, qword [rbp + 0xa8]
call fcn.1402275a0
lea rcx, [rbp + 0x88]
call fcn.1400b0960
jmp 0x1401aaa5f
mov rdx, rbx
mov rcx, rdi
call fcn.1401ac960
jmp 0x1401aaa5f
call fcn.1401a9620
mov dword [rdi], eax
mov dword [rdi + 4], r14d
lea rcx, [rdi + 8]
xor edx, edx
call fcn.140091da0
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
xor eax, eax
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 0x18]
and rax, 0xfffffffffffffffe
or rax, 2
and eax, 3
mov qword [rbx + 0x18], rax
mov rax, rbx
mov rcx, qword [rbp + 0x148]
xor rcx, rsp
call fcn.1402200b0
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
call fcn.1401a97b0
jmp 0x1401aaa5f
mov r8d, 8
mov rdx, rbx
mov rcx, rdi
call fcn.1401a97b0
jmp 0x1401aaa5f
lea rcx, [0x140397398]
call fcn.1402206cc
cmp dword [0x140397398], 0xffffffff
jne 0x1401aa141
call fcn.1401a9620
mov dword [0x140397378], eax
mov dword [0x14039737c], r14d
xorps xmm0, xmm0
movdqu xmmword [0x140397380], xmm0
mov qword [0x140397390], r14
mov byte [0x140397309], 0xff
lea rcx, [0x140258fe0]
call fcn.14022060c
nop
lea rcx, [0x140397398]
call fcn.140220660
jmp 0x1401aa141