Function at 0x42b480
Capabilities:
Get geographical location

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
sub rsp, 0x270
mov rbp, rsp
mov ebx, edx
mov rsi, r8
mov dword [rbp + 0x3c], r9d
test rcx, rcx
jne 0x42b4bf
lea rcx, [rbp + 0x260]
call sub.kernel32.dll_GetSystemTime
lea rcx, [rbp + 0x260]
lea rdx, [rbp + 0x258]
call sub.kernel32.dll_SystemTimeToFileTime
jmp 0x42b4cb
lea rdx, [rbp + 0x258]
call fcn.0042c2d0
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x104], rax
lea rcx, [rbp + 0x104]
lea rdx, [rbp + 0x250]
call sub.kernel32.dll_FileTimeToLocalFileTime
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0xfc], rax
lea rcx, [rbp + 0xfc]
lea rdx, [rbp + 0x260]
call sub.kernel32.dll_FileTimeToSystemTime
xor rdi, rdi
cmp ebx, 1
jne 0x42b69f
test rsi, rsi
jne 0x42b5dc
movzx eax, word [rbp + 0x268]
mov dword [rbp + 0x80], eax
mov byte [rbp + 0x88], 0
lea rax, [0x0049a448]
mov qword [rbp + 0x90], rax
mov byte [rbp + 0x98], 0xa
movzx eax, word [rbp + 0x26a]
mov dword [rbp + 0xa0], eax
mov byte [rbp + 0xa8], 0
lea rax, [0x0049a448]
mov qword [rbp + 0xb0], rax
mov byte [rbp + 0xb8], 0xa
movzx eax, word [rbp + 0x26c]
mov dword [rbp + 0xc0], eax
mov byte [rbp + 0xc8], 0
lea rax, [0x0049a468]
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xd8], 0xa
movzx eax, word [rbp + 0x26e]
mov ecx, 0xa
xor edx, edx
div ecx
mov dword [rbp + 0xe0], eax
mov byte [rbp + 0xe8], 0
lea rcx, [0x0042b914]
lea rdx, [rbp + 0x80]
mov r8d, 6
call fcn.0042f420
add edi, eax
jmp 0x42b698
movzx eax, word [rbp + 0x268]
mov dword [rbp + 0x80], eax
mov byte [rbp + 0x88], 0
lea rax, [0x0049a448]
mov qword [rbp + 0x90], rax
mov byte [rbp + 0x98], 0xa
movzx eax, word [rbp + 0x26a]
mov dword [rbp + 0xa0], eax
mov byte [rbp + 0xa8], 0
lea rax, [0x0049a448]
mov qword [rbp + 0xb0], rax
mov byte [rbp + 0xb8], 0xa
movzx eax, word [rbp + 0x26c]
mov dword [rbp + 0xc0], eax
mov byte [rbp + 0xc8], 0
lea rax, [0x0049a468]
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xd8], 0xa
movzx eax, word [rbp + 0x26e]
mov ecx, 0xa
xor edx, edx
div ecx
mov dword [rbp + 0xe0], eax
mov byte [rbp + 0xe8], 0
mov rcx, rsi
mov edx, dword [rbp + 0x3c]
lea r8, [0x0042b914]
lea r9, [rbp + 0x80]
mov dword [rsp + 0x20], 6
call fcn.00429f20
add edi, eax
mov eax, edi
jmp 0x42b906
mov rax, qword [0x0048a0c8]
cmp byte [rax], 0
jne 0x42b790
mov ax, 0x61
movzx ecx, word [rbp + 0x268]
cmp byte [0x0047faa4], 0
je 0x42b6e2
cmp ecx, 0xc
jb 0x42b6d6
cmp ecx, 0xc
jbe 0x42b6d0
sub ecx, 0xc
mov ax, 0x70
jmp 0x42b6e6
test ecx, ecx
jne 0x42b6e6
mov ecx, 0xc
jmp 0x42b6e6
mov ax, 0x20
test rsi, rsi
jne 0x42b732
mov dword [rbp + 0x40], ecx
mov byte [rbp + 0x48], 0
lea rcx, [0x0049a448]
mov qword [rbp + 0x50], rcx
mov byte [rbp + 0x58], 0xa
movzx ecx, word [rbp + 0x26a]
mov dword [rbp + 0x60], ecx
mov byte [rbp + 0x68], 0
mov word [rbp + 0x70], ax
mov byte [rbp + 0x78], 9
lea rcx, [0x0042b948]
lea rdx, [rbp + 0x40]
mov r8d, 3
call fcn.0042f420
add edi, eax
jmp 0x42b789
mov dword [rbp + 0x40], ecx
mov byte [rbp + 0x48], 0
lea rcx, [0x0049a448]
mov qword [rbp + 0x50], rcx
mov byte [rbp + 0x58], 0xa
movzx ecx, word [rbp + 0x26a]
mov dword [rbp + 0x60], ecx
mov byte [rbp + 0x68], 0
mov word [rbp + 0x70], ax
mov byte [rbp + 0x78], 9
mov rcx, rsi
mov edx, dword [rbp + 0x3c]
lea r8, [0x0042b948]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x20], 3
call fcn.00429f20
add edi, eax
cmp word [rsi], 0x20
jne 0x42b789
mov word [rsi], 0x30
mov eax, edi
jmp 0x42b906
xor r13, r13
call sub.kernel32.dll_GetUserDefaultLCID
mov ecx, eax
mov edx, 0x1003
lea r8, [rbp + 0x14e]
mov r9d, 0x80
call sub.kernel32.dll_GetLocaleInfoW_1
test eax, eax
jne 0x42b7d1
lea rcx, [rbp + 0x14e]
lea rdx, [0x0042b964]
mov r8d, 0x80
call fcn.00429d50
lea rbx, [rbp + 0x14e]
lea rax, [rbp + 0x14e]
test rax, rax
je 0x42b88f
movzx rdi, word [rbx]
cmp word [rbx], 0x27
jne 0x42b808
test r13d, r13d
sete al
test al, al
setne al
movzx rax, al
neg eax
mov r13d, eax
jmp 0x42b880
test r13d, r13d
jne 0x42b880
cmp di, 0x68
je 0x42b81f
cmp di, 0x48
je 0x42b81f
cmp di, 0x6d
jne 0x42b880
xor rax, rax
add rbx, 2
add eax, 1
cmp word [rbx], di
je 0x42b822
movsxd rcx, eax
add rcx, rcx
sub rbx, rcx
cmp eax, 1
jne 0x42b87c
mov rcx, rbx
movzx rax, word [rcx]
add rcx, 2
test ax, ax
jne 0x42b83f
mov r8, rbx
lea r9, [rbx + 2]
mov rax, rbx
neg rax
lea rax, [rcx + rax]
mov ecx, 2
cqo
idiv rcx
add rax, rax
mov rcx, r8
mov rdx, r9
mov r8, rax
call fcn.00405640
mov word [rbx], di
add rbx, 2
add rbx, 2
cmp word [rbx], 0
jne 0x42b7e8
nop
call sub.kernel32.dll_GetUserDefaultLCID
mov ecx, eax
mov edx, 2
lea r8, [rbp + 0x260]
lea r9, [rbp + 0x14e]
lea rax, [rbp + 0x10c]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x20
call sub.kernel32.dll_GetTimeFormatW
test eax, eax
jne 0x42b8d0
mov word [rbp + 0x10c], 0
test rsi, rsi
je 0x42b8f2
mov rcx, rsi
lea rdx, [rbp + 0x10c]
mov r8d, dword [rbp + 0x3c]
call fcn.00429d50
mov rcx, rsi
call fcn.0040aa00
jmp 0x42b906
lea rcx, [rbp + 0x10c]
lea rdx, [rbp + 0x40]
or r8d, 0xffffffff
call fcn.0042f420
lea rsp, [rbp + 0x270]
pop rbx
pop rsi
pop rdi
pop r13
pop rbp
ret