Function at 0x140029b40
Capabilities:
Get geographical location

Disassembly:
push rdi
sub rsp, 0x520
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x538], rbx
mov rax, qword [0x1403ad830]
xor rax, rsp
mov qword [rsp + 0x510], rax
mov ebx, ecx
test ecx, ecx
jne 0x140029b7a
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebx, eax
mov edx, 1
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jne 0x140029b97
mov rax, 0xffffffffffffffff
jmp 0x140029e8b
mov qword [rsp + 0x78], 0
mov r9d, 8
lea r8, [rsp + 0x78]
lea edx, [r9 + 3]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140029bc5
mov eax, 0xfffffffe
jmp 0x140029e8b
lea rcx, [rsp + 0x78]
call fcn.140299b04
mov edi, eax
test eax, eax
je 0x140029e86
lea ecx, [rax - 0xfde8]
cmp ecx, 1
jbe 0x140029e86
movzx ecx, di
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x140029e86
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov eax, 0x814
cmp bx, ax
jne 0x140029cd7
lea r8, str.Norwegian_Nynorsk
mov edx, 0x40
lea rcx, [rsp + 0x90]
call fcn.140299e98
mov r9d, 0x40
lea r8, [rsp + 0xd0]
mov edx, 0x1002
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140029d00
mov eax, 0xfffffffb
jmp 0x140029e8b
mov r9d, 0x40
lea r8, [rsp + 0x90]
mov edx, 0x1001
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140029cae
mov eax, 0xfffffffc
jmp 0x140029e8b
mov r9d, 0xa
lea r8d, [r9 + 6]
lea rdx, [rsp + 0x80]
mov ecx, edi
call fcn.140296818
xor edx, edx
mov r8d, 0x400
lea rcx, [rsp + 0x110]
call fcn.140285450
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
lea r8, str._s__s._s_n
mov edx, 0x3fc
lea rcx, [rsp + 0x110]
call fcn.14002ac00
nop
xor ecx, ecx
call fcn.140264558
mov qword [rsp + 0x38], rax
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
lea rax, [rsp + 0x110]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140029da0
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x58]
call fcn.140004c40
nop
mov r8d, 0x3f
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14001e2c0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140029e10
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029e0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029eac
call fcn.140283144
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.140268a90
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140029e57
mov rax, qword [rcx]
call qword [rax + reloc.ODBC32.dll_SQLFreeStmt]
test rax, rax
je 0x140029e57
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140029e7b
mov rax, qword [rcx]
call qword [rax + reloc.ODBC32.dll_SQLFreeStmt]
test rax, rax
je 0x140029e7b
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
xor eax, eax
jmp 0x140029e8b
mov eax, 0xfffffffd
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.140283120
mov rbx, qword [rsp + 0x538]
add rsp, 0x520
pop rdi
ret
call fcn.140287d84
nop
int3