Function at 0x100028d10
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4b0
mov rax, qword [0x100032100]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor ebx, ebx
mov r14, rcx
mov qword [rsp + 0x30], rbx
call fcn.1000287f8
xor edx, edx
movzx r8d, al
mov rcx, r14
mov rsi, rbx
and r8d, 0x20
mov dword [0x100032ac0], eax
or r8d, 2
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
cmp rax, rbx
je 0x10002916a
test byte [0x100032ac0], 0x20
jne 0x10002916c
lea rax, [rsp + 0x30]
mov r9d, 0x104
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x290]
mov rdx, r14
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, ebx
je 0x100029161
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jne 0x100028dd8
lea rax, [rsp + 0x290]
mov rbp, rbx
mov qword [rsp + 0x30], rax
jmp 0x100028de4
lea rbp, [rsp + 0x290]
mov word [rax - 2], bx
xor r9d, r9d
lea rdx, [0x100008248]
mov rcx, rdi
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
cmp rax, rbx
je 0x1000290ec
mov eax, dword [0x100032ac0]
test al, 4
je 0x100028fd9
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov r13d, 0x404
mov r15d, 0xc04
mov r12w, ax
cmp ax, r13w
jne 0x100028e72
mov r9d, 0x20
lea r8, [rsp + 0x250]
mov ecx, r13d
lea edx, [r9 - 0x18]
mov r12d, r15d
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
je 0x100028e72
lea rdx, [0x1000082b4]
lea rcx, [rsp + 0x250]
mov r8d, 3
call sub.msvcrt.dll_wcsncmp
cmp eax, ebx
je 0x100028e72
mov r12w, r13w
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, r12w
call fcn.100028c90
cmp eax, ebx
je 0x1000290d6
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
cmp word [rsp + 0xf0], bx
je 0x100028f0b
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
cmp r12w, r15w
je 0x100028e6e
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx r13d, ax
cmp ax, r12w
je 0x100028fc1
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, ax
call fcn.100028c90
cmp eax, ebx
je 0x1000290ec
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
cmp word [rsp + 0xf0], bx
je 0x100028fc1
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov ecx, 0x409
cmp cx, r12w
je 0x1000290bb
cmp cx, r13w
jmp 0x100029087
test al, 3
je 0x1000290ec
call fcn.100028a7c
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, ax
movzx r12d, ax
call fcn.100028c90
cmp eax, ebx
je 0x1000290ec
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
cmp word [rsp + 0xf0], bx
je 0x10002907e
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov ecx, 0x409
cmp cx, r12w
je 0x1000290bb
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
xor r9d, r9d
call fcn.100028c90
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
mov r9, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
call fcn.100028a0c
mov rsi, rax
cmp rax, rbx
jne 0x1000290db
cmp rsi, rbx
je 0x1000290ec
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, rsi
jmp 0x10002916c
test dil, 1
je 0x10002915c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.1000287f8
test al, 0x38
je 0x100029140
mov rax, qword [rsp + 0x30]
lea r8, [0x1000082c0]
lea rcx, [rsp + 0x290]
mov r9, rbp
mov edx, 0x104
mov qword [rsp + 0x20], rax
call fcn.1000285e0
xor r8d, r8d
lea rcx, [rsp + 0x290]
lea edx, [r8 + 1]
call fcn.10002872c
jmp 0x100029159
call fcn.1000287f8
mov rcx, r14
and eax, 0x26
setne bl
xor edx, edx
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
mov rax, rdi
jmp 0x10002916c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1000296e0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret