Function at 0x14002a870
Capabilities:
Get geographical location

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x330
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x360], rbx
mov rax, qword [0x1400e4340]
xor rax, rsp
mov qword [rsp + 0x320], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x80], rcx
xor esi, esi
mov dword [rsp + 0x40], esi
mov qword [rcx], rsi
mov eax, dword [0x1400e6130]
lea rbp, str.kernel32
test al, 1
jne 0x14002a8fb
or eax, 1
mov dword [0x1400e6130], eax
xor r9d, r9d
lea r8, str.GetLocaleInfoEx
mov rdx, rbp
lea rcx, [0x1400e6120]
call fcn.14004b920
lea rcx, [0x1400b45b0]
call fcn.140075530
nop
mov eax, dword [0x1400e6130]
mov r10, qword [0x1400e6120]
test r10, r10
je 0x14002a9d0
test al, 1
jne 0x14002a945
or eax, 1
mov dword [0x1400e6130], eax
xor r9d, r9d
lea r8, str.GetLocaleInfoEx
mov rdx, rbp
lea rcx, [0x1400e6120]
call fcn.14004b920
lea rcx, [0x1400b45b0]
call fcn.140075530
nop
mov r10, qword [0x1400e6120]
test r10, r10
jne 0x14002a9b6
mov qword [rsp + 0x20], rbp
lea r9, str.GetLocaleInfoEx
lea r8, str.Function__s_not_found_in__s_library
lea edx, [r10 + 1]
lea rcx, [rsp + 0x88]
call fcn.14001a6b0
lea r11, [0x1400b8b28]
mov qword [rsp + 0x88], r11
mov byte [rsp + 0x190], 0
or r9d, 0xffffffff
lea r8, str.DynamicFnLoadFailed
lea edx, [r9 + 0x21]
lea rcx, [rsp + 0x190]
call fcn.14001e6f0
lea rdx, [0x1400e09d8]
lea rcx, [rsp + 0x88]
call fcn.140073110
int3
mov r9d, 0xa
lea r8, [rsp + 0x2f0]
lea edx, [r9 + 0x4f]
mov rcx, rbx
call r10
jmp 0x14002a9f3
test rbx, rbx
jne 0x14002ac5e
lea r9d, [rbx + 0xa]
lea r8, [rsp + 0x2f0]
lea edx, [rbx + 0x59]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14002ac59
mov eax, dword [0x1400e6130]
test al, 1
jne 0x14002aa3a
or eax, 1
mov dword [0x1400e6130], eax
xor r9d, r9d
lea r8, str.GetLocaleInfoEx
mov rdx, rbp
lea rcx, [0x1400e6120]
call fcn.14004b920
lea rcx, [0x1400b45b0]
call fcn.140075530
nop
mov eax, dword [0x1400e6130]
mov r10, qword [0x1400e6120]
test r10, r10
je 0x14002ab0f
test al, 1
jne 0x14002aa84
or eax, 1
mov dword [0x1400e6130], eax
xor r9d, r9d
lea r8, str.GetLocaleInfoEx
mov rdx, rbp
lea rcx, [0x1400e6120]
call fcn.14004b920
lea rcx, [0x1400b45b0]
call fcn.140075530
nop
mov r10, qword [0x1400e6120]
test r10, r10
jne 0x14002aaf5
mov qword [rsp + 0x20], rbp
lea r9, str.GetLocaleInfoEx
lea r8, str.Function__s_not_found_in__s_library
lea edx, [r10 + 1]
lea rcx, [rsp + 0x88]
call fcn.14001a6b0
lea r11, [0x1400b8b28]
mov qword [rsp + 0x88], r11
mov byte [rsp + 0x190], 0
or r9d, 0xffffffff
lea r8, str.DynamicFnLoadFailed
lea edx, [r9 + 0x21]
lea rcx, [rsp + 0x190]
call fcn.14001e6f0
lea rdx, [0x1400e09d8]
lea rcx, [rsp + 0x88]
call fcn.140073110
int3
mov r9d, 0xa
lea r8, [rsp + 0x308]
lea edx, [r9 + 0x50]
mov rcx, rbx
call r10
jmp 0x14002ab32
test rbx, rbx
jne 0x14002ac2f
lea r9d, [rbx + 0xa]
lea r8, [rsp + 0x308]
lea edx, [rbx + 0x5a]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14002ac59
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
or r9d, 0xffffffff
mov r8d, 0xfde9
lea rdx, [rsp + 0x308]
lea rcx, [rsp + 0x60]
call fcn.14003f610
nop
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
or r9d, 0xffffffff
mov r8d, 0xfde9
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x48]
call fcn.14003f610
nop
lea rax, [0x1400b96b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140027020
mov rcx, qword [rax]
mov qword [rax], rsi
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x40]
call fcn.140073030
nop
cmp byte [rsp + 0x58], 0
je 0x14002abee
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14002abf3
movsxd rdx, dword [rsp + 0x48]
call fcn.14001e970
mov rcx, qword [rsp + 0x50]
jmp 0x14002abf3
mov rcx, qword [rsp + 0x50]
call fcn.140073030
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x50], rsi
cmp byte [rsp + 0x70], 0
je 0x14002ac23
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002ac28
movsxd rdx, dword [rsp + 0x60]
call fcn.14001e970
mov rcx, qword [rsp + 0x68]
jmp 0x14002ac28
mov rcx, qword [rsp + 0x68]
call fcn.140073030
jmp 0x14002ac59
mov r9d, 0x73
lea r8, str.....lib1locwinUtilWin.cxx
lea rdx, str.name__0
lea rcx, [rsp + 0x1b0]
call fcn.140022960
mov rcx, rax
call fcn.140022860
nop
mov rax, rdi
jmp 0x14002ac88
mov r9d, 0x73
lea r8, str.....lib1locwinUtilWin.cxx
lea rdx, str.name__0
lea rcx, [rsp + 0x1b0]
call fcn.140022960
mov rcx, rax
call fcn.140022860
nop
mov rcx, qword [rsp + 0x320]
xor rcx, rsp
call fcn.1400755f0
mov rbx, qword [rsp + 0x360]
add rsp, 0x330
pop rdi
pop rsi
pop rbp
ret