Function at 0x1400269f8
Capabilities:
Get geographical location

Disassembly:
push rbp
mov rbp, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1d8
mov rax, qword [0x1400c8590]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov rdi, qword [rbp + 0x40]
movsxd rsi, dword [rbp + 0x30]
mov r13, r8
xor r8d, r8d
mov rax, rdx
mov qword [rsp + 0x48], rdx
mov qword [r13], r8
mov dword [rdi], r8d
mov r10, qword [r9]
mov rdx, qword [0x14017b6f8]
mov r15, r9
mov r11, rcx
mov qword [rsp + 0x58], rcx
mov r14d, r8d
cmp r10, rdx
jae 0x140026a66
mov rbx, r10
shl rbx, 6
add rbx, qword [0x14017b6f0]
jmp 0x140026a90
mov rcx, qword [0x14017b718]
mov rax, qword [rsp + 0x48]
add rcx, rdx
cmp r10, rcx
jae 0x140026a8d
mov rbx, r10
sub rbx, rdx
shl rbx, 6
add rbx, qword [0x14017b710]
jmp 0x140026a90
mov rbx, r8
test rbx, rbx
je 0x140026f5e
mov r12, rsi
lea rcx, [0x1400e05c0]
shl r12, 5
mov qword [rsp + 0x40], r12
test byte [r12 + rcx + 0x18], 0x40
je 0x140026b95
mov r12d, dword [rbx + 0x10]
sub esi, 0x10
je 0x140026aca
dec esi
jne 0x140026adb
mov rcx, r10
jmp 0x140026ace
mov rcx, qword [r9 + 0x18]
call fcn.1400260b0
test al, al
je 0x140026f51
test byte [rbp + 0x38], 0x20
je 0x140026b16
lea rcx, [rsp + 0x70]
mov edx, 0x55
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
test eax, eax
js 0x140026f5e
lea rcx, [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LocaleNameToLCID]
test eax, eax
je 0x140026f5e
cmp ax, r12w
cmove r12d, eax
mov eax, 2
lea rcx, [0x1400e05c0]
test byte [rbp + 0x38], al
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + rcx + 0x10]
je 0x140026b34
bts ebx, 0x1f
xor r9d, r9d
lea rdx, [rsp + 0x70]
mov ecx, r12d
lea r8d, [r9 + 0x55]
call qword [sym.imp.KERNEL32.dll_LCIDToLocaleName]
xor r12d, r12d
test eax, eax
je 0x140026f5e
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
lea rcx, [rsp + 0x70]
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
movsxd r14, eax
test eax, eax
jne 0x140026cde
lea rcx, [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
movsxd rcx, eax
mov qword [r13], rcx
jmp 0x140026f54
test byte [r12 + rcx + 0x18], 0x80
je 0x140026ce7
mov rcx, qword [r9 + 0x10]
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x50], rcx
test rcx, rcx
jne 0x140026bd3
lea edx, [rcx + 1]
lea r8, [rsp + 0x50]
mov rcx, r10
call fcn.14001fdb0
mov dword [rdi], eax
test eax, eax
js 0x140026f64
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x40]
call fcn.14001fd0c
mov dword [rdi], eax
test eax, eax
js 0x140026f64
cmp esi, 0x29
jne 0x140026c33
mov rbx, qword [r15 + 0x18]
mov rdx, qword [0x14017b6f8]
cmp rbx, rdx
jae 0x140026c09
shl rbx, 6
add rbx, qword [0x14017b6f0]
jmp 0x140026c2a
mov rcx, qword [0x14017b718]
add rcx, rdx
cmp rbx, rcx
jae 0x140026c28
sub rbx, rdx
shl rbx, 6
add rbx, qword [0x14017b710]
jmp 0x140026c2a
xor ebx, ebx
test rbx, rbx
je 0x140026f51
test byte [rbp + 0x38], 0x20
je 0x140026c66
lea rcx, [rsp + 0x70]
mov edx, 0x55
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
test eax, eax
js 0x140026f5e
lea rcx, [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LocaleNameToLCID]
test eax, eax
je 0x140026f5e
lea rcx, [0x1400e05c0]
mov eax, 2
mov esi, dword [r12 + rcx + 0x10]
test byte [rbp + 0x38], al
je 0x140026c80
bts esi, 0x1f
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
xor r12d, r12d
mov r9d, esi
xor r8d, r8d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetCalendarInfoEx]
movsxd r14, eax
test eax, eax
jne 0x140026cde
mov edx, dword [rsp + 0x40]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x30], r12
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_GetCalendarInfoEx]
jmp 0x140026b89
mov qword [r13], r14
jmp 0x140026f54
cmp esi, 4
jl 0x140026f5e
cmp esi, 5
jle 0x140026f38
cmp esi, 0xe
je 0x140026ef9
mov eax, 0xf
cmp esi, eax
je 0x140026e5a
mov eax, 0x35
cmp esi, eax
jle 0x140026f5e
cmp esi, 0x42
jg 0x140026f5e
xor r12d, r12d
cmp qword [r9 + 0x10], r12
je 0x140026f5e
mov rcx, qword [rbx + 8]
lea r9d, [rax + 0x1b]
lea r8, [rsp + 0x120]
mov edx, 0x1009
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x60], 0xa07d6
mov dword [rsp + 0x64], 0xa0002
mov dword [rsp + 0x68], 0x1d0002
mov dword [rsp + 0x6c], 0x17
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
movsxd r14, eax
test eax, eax
je 0x140026d8d
lea rcx, [rsp + 0x120]
call qword [sym.imp.MSVCR100.dll__wtoi]
mov dword [rsp + 0x40], eax
jmp 0x140026d91
mov eax, dword [rsp + 0x40]
cmp eax, 1
jne 0x140026f54
mov rcx, qword [r15 + 0x10]
lea rdx, [rsp + 0x40]
call fcn.14001fd0c
mov dword [rdi], eax
test eax, eax
js 0x140026f64
cmp dword [rsp + 0x40], 1
jne 0x140026f54
mov rcx, qword [r15]
lea r8, [rsp + 0x50]
mov edx, 1
mov qword [rsp + 0x50], r12
call fcn.14001fdb0
mov dword [rdi], eax
test eax, eax
js 0x140026f64
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x40]
call fcn.14001fd0c
mov dword [rdi], eax
test eax, eax
js 0x140026f64
cmp dword [rsp + 0x40], 1
jne 0x140026f54
mov rcx, qword [rbx + 8]
lea rax, [rsp + 0x120]
mov qword [rsp + 0x30], r12
lea r9, str.ddMMMM
lea r8, [rsp + 0x60]
sub si, 0x35
xor edx, edx
mov dword [rsp + 0x28], 0x50
mov qword [rsp + 0x20], rax
mov word [rsp + 0x62], si
call qword [sym.imp.KERNEL32.dll_GetDateFormatEx]
movsxd r14, eax
test eax, eax
je 0x140026f54
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0x124]
jmp 0x140026ee5
mov esi, dword [rbx + 0x10]
mov ebx, esi
shr ebx, 0x10
and bx, ax
test byte [rbp + 0x38], 0x20
je 0x140026eb2
lea rcx, [rsp + 0x70]
mov edx, 0x55
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
xor r12d, r12d
test eax, eax
js 0x140026f5e
lea rcx, [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LocaleNameToLCID]
test eax, eax
je 0x140026f5e
mov r11, qword [rsp + 0x58]
cmp ax, si
jne 0x140026eb5
lea ebx, [r12 + 0xf]
shr eax, 0x10
and bx, ax
jmp 0x140026eb5
xor r12d, r12d
movzx ecx, bx
mov edx, 0x30
cmp ecx, 9
ja 0x140026ec7
add dx, cx
jmp 0x140026ed2
lea eax, [rcx - 0xa]
cmp eax, 5
ja 0x140026ed2
lea edx, [rcx + 0x57]
mov word [rsp + 0x40], dx
mov word [rsp + 0x42], r12w
lea r9, [rsp + 0x40]
mov rcx, r11
mov rdx, qword [rsp + 0x48]
mov r8, r13
mov qword [rsp + 0x20], rdi
call fcn.1400206c0
jmp 0x140026f33
xor r12d, r12d
cmp qword [r9 + 8], r12
jne 0x140026f1a
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.14001eea0
mov dword [rdi], eax
test eax, eax
js 0x140026f64
mov r11, qword [rsp + 0x58]
mov r8, qword [rsp + 0x48]
mov rcx, qword [r15 + 8]
mov r9, r13
mov rdx, r11
mov qword [rsp + 0x20], rdi
call fcn.14001de9c
mov r14, rax
jmp 0x140026f54
mov r9, r13
mov r8, rax
mov rdx, r11
mov rcx, r10
mov qword [rsp + 0x20], rdi
call fcn.14001e5c0
mov r14, rax
xor r12d, r12d
cmp dword [rdi], r12d
jl 0x140026f64
test r14, r14
jne 0x140026f64
mov dword [rdi], 0x80004005
mov rax, r14
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1400056f0
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret