Function at 0x40458c
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 [0x004115d0]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor ebx, ebx
mov r14, rcx
mov qword [rsp + 0x30], rbx
call fcn.00403fe8
xor edx, edx
movzx r8d, al
mov rcx, r14
mov rsi, rbx
and r8d, 0x20
mov dword [0x00411c00], eax
or r8d, 2
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
cmp rax, rbx
je 0x4049e6
test byte [0x00411c00], 0x20
jne 0x4049e8
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 0x4049dd
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jne 0x404654
lea rax, [rsp + 0x290]
mov rbp, rbx
mov qword [rsp + 0x30], rax
jmp 0x404660
lea rbp, [rsp + 0x290]
mov word [rax - 2], bx
xor r9d, r9d
lea rdx, [0x0040e378]
mov rcx, rdi
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
cmp rax, rbx
je 0x404968
mov eax, dword [0x00411c00]
test al, 4
je 0x404855
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov r13d, 0x404
mov r15d, 0xc04
mov r12w, ax
cmp ax, r13w
jne 0x4046ee
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 0x4046ee
lea rdx, [0x0040e3e4]
lea rcx, [rsp + 0x250]
mov r8d, 3
call sub.msvcrt.dll_wcsncmp
cmp eax, ebx
je 0x4046ee
mov r12w, r13w
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, r12w
call fcn.0040448c
cmp eax, ebx
je 0x404952
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
cmp word [rsp + 0xf0], bx
je 0x404787
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
cmp r12w, r15w
je 0x4046ea
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx r13d, ax
cmp ax, r12w
je 0x40483d
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, ax
call fcn.0040448c
cmp eax, ebx
je 0x404968
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
cmp word [rsp + 0xf0], bx
je 0x40483d
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov ecx, 0x409
cmp cx, r12w
je 0x404937
cmp cx, r13w
jmp 0x404903
test al, 3
je 0x404968
call fcn.00404278
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
movzx ecx, ax
movzx r12d, ax
call fcn.0040448c
cmp eax, ebx
je 0x404968
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1a0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
cmp word [rsp + 0xf0], bx
je 0x4048fa
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov ecx, 0x409
cmp cx, r12w
je 0x404937
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0x40]
xor r9d, r9d
call fcn.0040448c
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
mov r9, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, rbp
mov rcx, rdi
call fcn.00404208
mov rsi, rax
cmp rax, rbx
jne 0x404957
cmp rsi, rbx
je 0x404968
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, rsi
jmp 0x4049e8
test dil, 1
je 0x4049d8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00403fe8
test al, 0x38
je 0x4049bc
mov rax, qword [rsp + 0x30]
lea r8, str._s_s
lea rcx, [rsp + 0x290]
mov r9, rbp
mov edx, 0x104
mov qword [rsp + 0x20], rax
call fcn.0040327c
xor r8d, r8d
lea rcx, [rsp + 0x290]
lea edx, [r8 + 1]
call fcn.00403f1c
jmp 0x4049d5
call fcn.00403fe8
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 0x4049e8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.004030d0
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