Function at 0x100406a80
Capabilities:
Identify system language via api

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov rcx, rbx
movzx edx, ax
add rsp, 0x20
pop rbx
jmp 0x100406ab0
push rbp
push rsi
push r12
push r14
lea rbp, [rsp - 0xf58]
mov eax, 0x1058
call fcn.100407760
sub rsp, rax
mov rax, qword [0x10040c020]
xor rax, rsp
mov qword [rbp + 0xf40], rax
movzx esi, dx
xor r12d, r12d
mov word [rsp + 0x30], r12w
mov eax, esi
cmp esi, 0xc04
je 0x100406b01
cmp eax, 0x1004
jne 0x100406b06
mov esi, 0x804
jmp 0x100406b06
mov esi, 0x404
mov qword [rsp + 0x1088], rbx
mov r14d, 0x105
mov qword [rsp + 0x1090], rdi
lea r9, [rsp + 0x30]
lea rdx, [rbp + 0xd30]
mov r8d, r14d
mov qword [rsp + 0x1098], r13
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x1050], r15
call fcn.1004072d0
test al, al
je 0x100407282
lea rax, [rsp + 0x30]
lea r13, str.resources
lea r9, [rbp + 0xd30]
lea rcx, [rbp + 0xb20]
movzx r8d, si
mov edx, r14d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.1004074e0
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x10040726a
mov rax, r12
nop
movzx ecx, word [rbp + rax*2 + 0xd30]
cmp r12w, cx
je 0x100406bc1
mov word [rbp + rax*2 + 0xb20], cx
inc rax
cmp rax, 0x104
jb 0x100406ba0
movzx r15d, word [rsp + 0x30]
mov word [rbp + rax*2 + 0xb20], r12w
mov edi, 1
cmp r12w, word [rbp + rax*2 + 0xd30]
jne 0x100406e27
movzx r11d, si
lea r9, [rbp + 0xac0]
mov word [rbp + 0xac0], r12w
lea r8, [rbp + 0xac2]
mov r10d, edi
mov eax, 0xcccccccd
add r8, 2
mul r11d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r11w, cx
add r11w, 0x30
mov word [r8 - 2], r11w
mov r11d, edx
test edx, edx
je 0x100406c3b
inc r10d
cmp r10d, 0x29
jb 0x100406c01
lea rax, [rbp + 0xac0]
sub r8, 2
cmp rax, r8
jae 0x100406c6e
nop dword [rax + rax]
movzx eax, word [r8]
movzx ecx, word [r9]
sub r8, 2
mov word [r9], ax
mov word [r8 + 2], cx
add r9, 2
cmp r9, r8
jb 0x100406c50
lea rax, [rbp + 0xb20]
mov rbx, r12
cmp r12w, word [rbp + 0xb20]
je 0x100406c8f
add rax, 2
inc rbx
cmp r12w, word [rax]
jne 0x100406c82
mov rax, rbx
test rbx, rbx
je 0x100406c9b
lea rax, [rbx - 1]
movzx ecx, word [rbp + rax*2 + 0xb20]
mov edx, 0x5c
lea r11d, [rdx - 0x2d]
cmp dx, cx
je 0x100406cf7
cmp r11w, cx
je 0x100406cf7
movzx eax, word [rbp + 0xac0]
cmp dx, ax
je 0x100406cf7
cmp r11w, ax
je 0x100406cf7
lea rcx, [rbp + 0xb20]
mov rdx, r14
lea r8, [0x100408b28]
lea rcx, [rcx + rbx*2]
sub rdx, rbx
call fcn.100407640
test al, al
je 0x100406e32
inc rbx
mov r11d, 0x2f
lea r10, [rbp + 0xb20]
mov r9, r14
lea r10, [r10 + rbx*2]
sub r9, rbx
je 0x100406e27
mov rcx, r12
dec r9
je 0x100406d3d
lea r8, [rbp + 0xac0]
mov rax, r10
sub r8, r10
movzx edx, word [r8 + rax]
cmp r12w, dx
je 0x100406d3d
inc rcx
mov word [rax], dx
add rax, 2
cmp rcx, r9
jb 0x100406d23
mov word [r10 + rcx*2], r12w
cmp r12w, word [rbp + rcx*2 + 0xac0]
jne 0x100406e27
lea rax, [rbp + 0xb20]
mov rbx, r12
cmp r12w, word [rbp + 0xb20]
je 0x100406d7d
nop word [rax + rax]
add rax, 2
inc rbx
cmp r12w, word [rax]
jne 0x100406d70
mov rax, rbx
test rbx, rbx
je 0x100406d89
lea rax, [rbx - 1]
movzx ecx, word [rbp + rax*2 + 0xb20]
mov eax, 0x5c
cmp ax, cx
je 0x100406dd1
cmp r11w, cx
je 0x100406dd1
cmp ax, r15w
je 0x100406dd1
cmp r11w, r15w
je 0x100406dd1
lea rcx, [rbp + 0xb20]
mov rdx, r14
lea r8, [0x100408b28]
lea rcx, [rcx + rbx*2]
sub rdx, rbx
call fcn.100407640
test al, al
je 0x100406e32
inc rbx
lea r10, [rbp + 0xb20]
mov r9, r14
lea r10, [r10 + rbx*2]
sub r9, rbx
je 0x100406e27
mov rcx, r12
dec r9
je 0x100406e1a
lea r8, [rsp + 0x30]
mov rax, r10
sub r8, r10
nop word [rax + rax]
movzx edx, word [r8 + rax]
cmp r12w, dx
je 0x100406e1a
inc rcx
mov word [rax], dx
add rax, 2
cmp rcx, r9
jb 0x100406e00
mov word [r10 + rcx*2], r12w
cmp r12w, word [rsp + rcx*2 + 0x30]
je 0x100406e32
mov ecx, 0x7a
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rbp + 0x870]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x10040726a
mov ebx, 0x409
cmp bx, si
je 0x100407135
lea rax, [rsp + 0x30]
lea r9, [rbp + 0xd30]
lea rcx, [rbp + 0xb20]
mov r8d, ebx
mov rdx, r14
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.1004074e0
lea rdx, [rbp + 0x620]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x10040726a
mov rax, r12
nop word [rax + rax]
movzx ecx, word [rbp + rax*2 + 0xd30]
cmp r12w, cx
je 0x100406ed1
mov word [rbp + rax*2 + 0xb20], cx
inc rax
cmp rax, 0x104
jb 0x100406eb0
mov word [rbp + rax*2 + 0xb20], r12w
cmp r12w, word [rbp + rax*2 + 0xd30]
jne 0x10040710c
lea r9, [rbp + 0xac0]
mov word [rbp + 0xac0], r12w
lea r8, [rbp + 0xac2]
nop
mov eax, 0xcccccccd
add r8, 2
mul ebx
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub bx, cx
add bx, 0x30
mov word [r8 - 2], bx
mov ebx, edx
test edx, edx
je 0x100406f34
inc edi
cmp edi, 0x29
jb 0x100406f00
lea rax, [rbp + 0xac0]
sub r8, 2
cmp rax, r8
jae 0x100406f6e
nop word [rax + rax]
movzx eax, word [r8]
movzx ecx, word [r9]
sub r8, 2
mov word [r9], ax
mov word [r8 + 2], cx
add r9, 2
cmp r9, r8
jb 0x100406f50
lea rax, [rbp + 0xb20]
mov rbx, r12
cmp r12w, word [rbp + 0xb20]
je 0x100406f8f
add rax, 2
inc rbx
cmp r12w, word [rax]
jne 0x100406f82
mov rax, rbx
test rbx, rbx
je 0x100406f9b
lea rax, [rbx - 1]
movzx ecx, word [rbp + rax*2 + 0xb20]
mov edi, 0x5c
lea r11d, [rdi - 0x2d]
cmp di, cx
je 0x100406ff5
cmp r11w, cx
je 0x100406ff5
movzx eax, word [rbp + 0xac0]
cmp di, ax
je 0x100406ff5
cmp r11w, ax
je 0x100406ff5
lea rcx, [rbp + 0xb20]
mov rdx, r14
lea r8, [0x100408b28]
lea rcx, [rcx + rbx*2]
sub rdx, rbx
call fcn.100407640
test al, al
je 0x100407117
inc rbx
lea r11d, [rdi - 0x2d]
lea r10, [rbp + 0xb20]
mov r9, r14
lea r10, [r10 + rbx*2]
sub r9, rbx
je 0x10040710c
mov rcx, r12
dec r9
je 0x10040703b
lea r8, [rbp + 0xac0]
mov rax, r10
sub r8, r10
movzx edx, word [r8 + rax]
cmp r12w, dx
je 0x10040703b
inc rcx
mov word [rax], dx
add rax, 2
cmp rcx, r9
jb 0x100407021
mov word [r10 + rcx*2], r12w
cmp r12w, word [rbp + rcx*2 + 0xac0]
jne 0x10040710c
lea rax, [rbp + 0xb20]
mov rbx, r12
cmp r12w, word [rbp + 0xb20]
je 0x100407070
add rax, 2
inc rbx
cmp r12w, word [rax]
jne 0x100407063
mov rax, rbx
test rbx, rbx
je 0x10040707c
lea rax, [rbx - 1]
movzx ecx, word [rbp + rax*2 + 0xb20]
cmp di, cx
je 0x1004070bf
cmp r11w, cx
je 0x1004070bf
cmp di, r15w
je 0x1004070bf
cmp r11w, r15w
je 0x1004070bf
lea rcx, [rbp + 0xb20]
mov rdx, r14
lea r8, [0x100408b28]
lea rcx, [rcx + rbx*2]
sub rdx, rbx
call fcn.100407640
test al, al
je 0x100407117
inc rbx
lea r10, [rbp + 0xb20]
mov r9, r14
lea r10, [r10 + rbx*2]
sub r9, rbx
je 0x10040710c
mov rcx, r12
dec r9
je 0x1004070ff
lea r8, [rsp + 0x30]
mov rax, r10
sub r8, r10
movzx edx, word [r8 + rax]
cmp r12w, dx
je 0x1004070ff
inc rcx
mov word [rax], dx
add rax, 2
cmp rcx, r9
jb 0x1004070e5
mov word [r10 + rcx*2], r12w
cmp r12w, word [rsp + rcx*2 + 0x30]
je 0x100407117
mov ecx, 0x7a
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x10040726a
mov rax, r12
nop dword [rax + rax]
movzx edx, word [rbp + rax*2 + 0xd30]
cmp r12w, dx
je 0x100407161
mov word [rbp + rax*2 + 0xb20], dx
inc rax
cmp rax, 0x104
jb 0x100407140
mov word [rbp + rax*2 + 0xb20], r12w
cmp r12w, word [rbp + rax*2 + 0xd30]
jne 0x100407247
lea rax, [rbp + 0xb20]
mov rbx, r12
cmp r12w, word [rbp + 0xb20]
je 0x10040719d
nop dword [rax]
add rax, 2
inc rbx
cmp r12w, word [rax]
jne 0x100407190
mov rax, rbx
test rbx, rbx
je 0x1004071a9
lea rax, [rbx - 1]
movzx ecx, word [rbp + rax*2 + 0xb20]
mov edx, 0x5c
cmp dx, cx
je 0x1004071f5
mov eax, 0x2f
cmp ax, cx
je 0x1004071f5
cmp dx, r15w
je 0x1004071f5
cmp ax, r15w
je 0x1004071f5
lea rcx, [rbp + 0xb20]
mov rdx, r14
lea r8, [0x100408b28]
lea rcx, [rcx + rbx*2]
sub rdx, rbx
call fcn.100407640
test al, al
je 0x100407252
inc rbx
lea r10, [rbp + 0xb20]
lea r10, [r10 + rbx*2]
sub r14, rbx
je 0x100407247
lea r9, [r14 - 1]
mov rcx, r12
test r9, r9
je 0x10040723a
lea r8, [rsp + 0x30]
mov rax, r10
sub r8, r10
nop dword [rax]
movzx edx, word [r8 + rax]
cmp r12w, dx
je 0x10040723a
inc rcx
mov word [rax], dx
add rax, 2
cmp rcx, r9
jb 0x100407220
mov word [r10 + rcx*2], r12w
cmp r12w, word [rsp + rcx*2 + 0x30]
je 0x100407252
mov ecx, 0x7a
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x100407282
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rcx, [rbp + 0xb20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x100407284
xor eax, eax
mov r15, qword [rsp + 0x1050]
mov r13, qword [rsp + 0x1098]
mov rdi, qword [rsp + 0x1090]
mov rbx, qword [rsp + 0x1088]
mov rcx, qword [rbp + 0xf40]
xor rcx, rsp
call fcn.100405cd0
add rsp, 0x1058
pop r14
pop r12
pop rsi
pop rbp
ret