Function at 0x1000153fc
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x130
mov rax, qword [0x100028110]
xor rax, rsp
mov qword [rsp + 0x120], rax
xor esi, esi
mov rbx, rcx
mov edi, esi
cmp rcx, rsi
jne 0x100015436
mov eax, 0x80004005
jmp 0x100015836
mov edx, 1
test byte [rcx], dl
je 0x100015834
movsxd rax, dword [rcx + 8]
mov r9, qword [rbx + 0x28]
lea rcx, [0x10002aec0]
mov ecx, dword [rcx + rax*4]
cmp qword [r9 + 0xc0], rsi
je 0x100015490
cmp ecx, esi
je 0x100015490
cmp ecx, 0xf
je 0x1000156bb
cmp ecx, 0x11
je 0x100015490
cmp ecx, 5
je 0x100015490
cmp ecx, 2
je 0x100015490
cmp ecx, 3
je 0x100015490
cmp ecx, 4
je 0x100015490
mov rax, qword [rbx + 0x18]
mov word [rax], si
jmp 0x100015834
cmp ecx, 0xf
jg 0x10001573a
je 0x1000156bb
cmp ecx, 7
jg 0x10001565b
je 0x10001564f
cmp ecx, esi
je 0x100015646
sub ecx, edx
je 0x100015627
sub ecx, edx
je 0x10001560b
sub ecx, edx
je 0x100015605
sub ecx, edx
je 0x1000155f7
sub ecx, edx
je 0x1000154f8
cmp ecx, edx
jne 0x100015834
mov rcx, qword [r9 + 0x38]
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
call fcn.1000153b0
jmp 0x100015834
xor eax, eax
lea rcx, [r9 + 0x28]
lea rdx, [rsp + 0x40]
mov word [rsp + 0x30], si
mov qword [rsp + 0x32], rax
mov dword [rsp + 0x3a], eax
mov word [rsp + 0x3e], ax
call qword [sym.imp.ntdll.dll_RtlTimeToElapsedTimeFields]
movzx eax, word [rsp + 0x48]
movzx r11d, word [rsp + 0x46]
mov word [rsp + 0x3a], ax
movzx eax, word [rsp + 0x4a]
mov word [rsp + 0x3c], ax
movzx eax, word [rsp + 0x4c]
xor r9d, r9d
mov word [rsp + 0x3e], ax
mov eax, dword [rbx + 0x20]
lea r8, [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov rax, qword [rbx + 0x18]
lea edx, [r9 + 0xc]
mov ecx, 0x400
mov word [rsp + 0x38], r11w
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
cmp si, word [rsp + 0x44]
je 0x100015834
cmp si, word [0x10002ae60]
jne 0x10001559d
mov r9d, 4
lea r8, [0x10002ae60]
mov ecx, 0x400
lea edx, [r9 + 0x1a]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rcx, qword [rbx + 0x18]
lea rdx, [0x10002ae60]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
mov r11, rax
cmp rax, rsi
je 0x100015834
movsx eax, word [rsp + 0x44]
lea r8, [0x100006ae8]
mov edx, 0x64
lea ecx, [rax + rax*2]
movsx eax, word [rsp + 0x46]
mov qword [rsp + 0x20], r11
lea r9d, [rax + rcx*8]
lea rcx, [rsp + 0x50]
call fcn.10000b07c
cmp eax, esi
mov edi, eax
jl 0x100015834
lea r8, [rsp + 0x50]
jmp 0x100015618
movzx r9d, byte [r9 + 0x1d]
lea r8, [0x100006ad8]
jmp 0x100015632
mov r9d, dword [r9 + 0x18]
jmp 0x10001562b
mov r8, qword [r9 + 0x10]
cmp r8, rsi
je 0x100015834
movsxd rdx, dword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
call fcn.10000afec
jmp 0x10001563f
mov r9d, dword [r9 + 8]
lea r8, [0x100006acc]
movsxd rdx, dword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
call fcn.10000b07c
mov edi, eax
jmp 0x100015834
mov r8, qword [r9 + 0xb8]
jmp 0x100015618
mov rcx, qword [r9 + 0xd8]
jmp 0x1000154e6
sub ecx, 8
je 0x1000156b2
sub ecx, edx
je 0x1000156a9
sub ecx, edx
je 0x1000156a0
sub ecx, edx
je 0x100015697
sub ecx, edx
je 0x10001568e
sub ecx, edx
je 0x100015685
cmp ecx, edx
jne 0x100015834
movsxd rcx, dword [r9 + 0x54]
jmp 0x100015827
mov ecx, dword [r9 + 0x50]
jmp 0x100015827
mov rcx, qword [r9 + 0x68]
jmp 0x1000154e6
mov rcx, qword [r9 + 0x60]
jmp 0x1000154e6
mov rcx, qword [r9 + 0x58]
jmp 0x1000154e6
mov rcx, qword [r9 + 0x48]
jmp 0x1000154e6
mov rcx, qword [r9 + 0x40]
jmp 0x1000154e6
mov ecx, dword [r9 + 0x70]
sub ecx, 0x20
je 0x10001572e
sub ecx, 0x20
je 0x100015722
sub ecx, 0x40
je 0x100015716
sub ecx, 0x80
je 0x10001570a
sub ecx, 0x3f00
je 0x1000156fe
cmp ecx, 0x4000
je 0x1000156f2
lea r8, [0x100029db0]
jmp 0x100015618
lea r8, [0x100029d30]
jmp 0x100015618
lea r8, [0x100029cb0]
jmp 0x100015618
lea r8, [0x100029fb0]
jmp 0x100015618
lea r8, [0x100029eb0]
jmp 0x100015618
lea r8, [0x100029e30]
jmp 0x100015618
lea r8, [0x100029f30]
jmp 0x100015618
cmp ecx, 0x17
jg 0x1000157b3
je 0x1000157aa
sub ecx, 0x10
je 0x1000157a4
sub ecx, edx
je 0x10001579b
sub ecx, edx
je 0x10001578f
sub ecx, edx
je 0x100015786
sub ecx, edx
je 0x10001577a
sub ecx, edx
je 0x10001576e
cmp ecx, edx
jne 0x100015834
mov rcx, qword [r9 + 0x98]
jmp 0x100015827
mov rcx, qword [r9 + 0x90]
jmp 0x100015827
mov rcx, qword [r9 + 0x88]
jmp 0x100015827
mov ecx, dword [r9 + 0x7c]
jmp 0x100015827
mov ecx, dword [r9 + 0x80]
jmp 0x100015827
mov ecx, dword [r9 + 0x78]
jmp 0x100015827
mov ecx, dword [r9 + 0x74]
jmp 0x100015827
mov rcx, qword [r9 + 0xa0]
jmp 0x100015827
sub ecx, 0x18
je 0x100015820
sub ecx, edx
je 0x100015817
sub ecx, edx
je 0x100015805
sub ecx, edx
je 0x1000157fc
sub ecx, edx
je 0x1000157e5
sub ecx, edx
je 0x1000157d9
cmp ecx, edx
jne 0x100015834
movsxd rax, dword [r9 + 0xe4]
jmp 0x1000157ec
mov r8, qword [r9 + 0xf8]
jmp 0x10001560f
movsxd rax, dword [r9 + 0xe0]
lea rcx, [0x10002a120]
shl rax, 7
add rax, rcx
jmp 0x100015811
mov rax, qword [r9 + 0xf0]
jmp 0x100015811
mov rax, qword [r9 + 0xe8]
cmp rax, rsi
je 0x100015834
mov qword [rbx + 0x18], rax
jmp 0x100015834
mov rcx, qword [r9 + 0xb0]
jmp 0x100015827
mov rcx, qword [r9 + 0xa8]
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
call fcn.1000152f4
mov eax, edi
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.100022bc0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret