Function at 0x100003ce0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x100015138]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rcx, rdx
lea rdx, [rsp + 0x20]
xor r12d, r12d
mov r14, r8
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x20], 0x2f
mov dword [r8], r12d
call fcn.100005dfc
mov rdx, qword [0x100015100]
lea rcx, [0x100015100]
mov rbx, rax
call qword [rdx + 0x18]
mov esi, r12d
mov dword [rsp + 0x24], r12d
lea rdi, [rax + 0x18]
mov r15d, r12d
mov dword [0x100015d18], r12d
mov qword [rsp + 0x28], rdi
cmp rbx, r12
je 0x1000042e5
mov ebp, 0x7fffffff
mov r14d, 0x104
lea rdx, [0x100001ff0]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x1000041f0
lea rdx, [0x100001ffc]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x1000041f0
lea rdx, [0x100002000]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003f6c
lea rdx, [0x100002014]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003f6c
lea rdx, [0x100002020]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e78
lea rdx, [0x100002028]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e78
lea rdx, [0x100002030]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e6d
lea rdx, [0x100002044]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e6d
lea rdx, [0x100002048]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e63
lea rdx, [0x100002054]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
je 0x100003e63
lea rdx, [0x100002058]
mov rcx, rbx
call fcn.100005d44
cmp eax, r12d
jne 0x1000041db
call fcn.10001013c
jmp 0x1000041db
mov r15d, 1
jmp 0x1000041db
lea rcx, [rsp + 0x28]
call fcn.100005e8c
mov edx, 0x20
mov rcx, rbx
mov dword [rsp + 0x24], 1
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rbx, rax
cmp rax, r12
je 0x1000041db
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x20]
mov rcx, rbx
movsxd rdi, eax
call fcn.100005dfc
cmp rax, r12
je 0x100003ed3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rdi, rcx
jmp 0x100003ed6
inc rdi
cmp rdi, r14
cmova rdi, r14
cmp rdi, r12
je 0x100003f2d
cmp rdi, rbp
ja 0x100003f2d
lea rax, [rsp + 0x60]
mov edx, 0x7ffffffe
mov r8, rbx
sub rdx, rdi
sub r8, rax
lea rcx, [rsp + 0x60]
lea rax, [rdx + rdi]
cmp rax, r12
je 0x100003f20
movzx eax, word [r8 + rcx]
cmp ax, r12w
je 0x100003f20
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x100003eff
cmp rdi, r12
jne 0x100003f29
sub rcx, 2
mov word [rcx], r12w
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x60]
call fcn.1000054e4
jmp 0x1000041db
xor eax, eax
lea r8, [rsp + 0x48]
mov ecx, 0x400
lea r9d, [rax + 5]
lea edx, [rax + 0x1e]
mov dword [rsp + 0x48], 0x3a
mov dword [rsp + 0x4c], eax
mov word [rsp + 0x50], ax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, rbx
mov word [rsp + 0x38], r12w
movsxd r13, eax
xor eax, eax
lea edx, [rax + 0x20]
mov qword [rsp + 0x3a], rax
call qword [sym.imp.SHLWAPI.dll_StrChrW]
lea rbx, [rax + 2]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x48]
mov rcx, rbx
movsxd rdi, eax
call qword [sym.imp.SHLWAPI.dll_StrStrW]
mov rsi, rax
cmp rax, r12
je 0x1000042c9
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rdi, rcx
cmp rdi, 5
jae 0x1000042c9
lea rcx, [rdi + 1]
cmp rcx, r12
je 0x100004050
cmp rcx, rbp
ja 0x100004050
lea rax, [rsp + 0x38]
mov edi, 0x7ffffffe
lea rdx, [rsp + 0x38]
sub rdi, rcx
sub rbx, rax
lea rax, [rcx + rdi]
cmp rax, r12
je 0x100004043
movzx eax, word [rdx + rbx]
cmp ax, r12w
je 0x100004043
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x100004023
cmp rcx, r12
jne 0x10000404c
sub rdx, 2
mov word [rdx], r12w
lea rcx, [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_StrToIntW]
lea rbx, [rsi + r13*2]
mov rcx, rbx
mov edi, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x48]
mov rcx, rbx
movsxd rsi, eax
call qword [sym.imp.SHLWAPI.dll_StrStrW]
mov rbp, rax
cmp rax, r12
je 0x1000042c9
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rsi, rcx
cmp rsi, 5
jae 0x1000042c9
lea rdx, [rsi + 1]
mov word [rsp + 0x38], r12w
cmp rdx, r12
je 0x1000040fb
cmp rdx, 0x7fffffff
ja 0x1000040fb
lea rax, [rsp + 0x38]
mov r8d, 0x7ffffffe
lea rcx, [rsp + 0x38]
sub r8, rdx
sub rbx, rax
lea rax, [rdx + r8]
cmp rax, r12
je 0x1000040ee
movzx eax, word [rcx + rbx]
cmp ax, r12w
je 0x1000040ee
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1000040ce
cmp rdx, r12
jne 0x1000040f7
sub rcx, 2
mov word [rcx], r12w
lea rcx, [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_StrToIntW]
lea rbx, [rbp + r13*2]
mov rcx, rbx
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x20]
mov rcx, rbx
movsxd rsi, eax
call fcn.100005dfc
xor ebp, ebp
cmp rax, rbp
je 0x10000413d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rsi, rcx
cmp rsi, 5
jae 0x1000042c6
lea rcx, [rsi + 1]
mov word [rsp + 0x38], bp
cmp rcx, rbp
je 0x1000041a3
cmp rcx, 0x7fffffff
ja 0x1000041a3
lea rax, [rsp + 0x38]
mov r8d, 0x7ffffffe
mov r9, rbx
sub r8, rcx
sub r9, rax
lea rdx, [rsp + 0x38]
lea rax, [rcx + r8]
cmp rax, rbp
je 0x100004197
movzx eax, word [rdx + r9]
cmp ax, bp
je 0x100004197
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x100004177
cmp rcx, rbp
jne 0x1000041a0
sub rdx, 2
mov word [rdx], bp
lea rcx, [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_StrToIntW]
cmp edi, 0x2710
jae 0x1000041d8
cmp r12d, 0x3c
jae 0x1000041d8
cmp eax, 0x3c
jae 0x1000041d8
imul edi, edi, 0x3c
add edi, r12d
imul edi, edi, 0x3c
add edi, eax
imul edi, edi, 0x3e8
mov dword [0x100015d18], edi
xor r12d, r12d
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.100005dfc
mov rbx, rax
jmp 0x1000042c9
mov edx, 0x20
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rbx, rax
cmp rax, r12
je 0x1000041db
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [rsp + 0x20]
mov rcx, rbx
movsxd rdi, eax
call fcn.100005dfc
cmp rax, r12
je 0x100004235
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
sub rdi, rcx
jmp 0x100004238
inc rdi
cmp rdi, r14
cmova rdi, r14
cmp rdi, r12
je 0x10000428f
cmp rdi, rbp
ja 0x10000428f
lea rax, [rsp + 0x60]
mov edx, 0x7ffffffe
mov r8, rbx
sub rdx, rdi
sub r8, rax
lea rcx, [rsp + 0x60]
lea rax, [rdi + rdx]
cmp rax, r12
je 0x100004282
movzx eax, word [r8 + rcx]
cmp ax, r12w
je 0x100004282
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x100004261
cmp rdi, r12
jne 0x10000428b
sub rcx, 2
mov word [rcx], r12w
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [0x100015d20]
jmp 0x100003f5d
xor r12d, r12d
mov ebp, 0x7fffffff
cmp rbx, r12
jne 0x100003d6f
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov esi, dword [rsp + 0x24]
mov rcx, qword [0x100015d20]
call fcn.100009380
cmp eax, r12d
jl 0x100004338
lea rcx, [0x100015d28]
mov r9, rdi
mov r8d, r15d
mov edx, esi
call fcn.100009bb0
cmp eax, r12d
jl 0x100004338
cmp qword [0x100015d28], r12
je 0x100004338
lea rdx, [rdi - 0x18]
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
dec ecx
cmp ecx, r12d
jg 0x100004334
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov al, 1
jmp 0x100004359
mov dword [r14], eax
lea rdx, [rdi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r12d
jg 0x100004357
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor al, al
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1000115c0
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret