Function at 0x140015c74
Capabilities:
Identify system language via api

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x480
mov rax, qword [0x14003a138]
xor rax, rsp
mov qword [rsp + 0x470], rax
xor ebx, ebx
movzx r14d, r8w
mov word [rsp + 0x38], r8w
mov r13d, edx
mov dword [rsp + 0x3c], edx
mov r15, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x30], rbx
cmp rcx, rbx
je 0x1400163d8
test edx, 0xffffffe3
jne 0x1400163d8
cmp r8w, bx
jne 0x140015ce1
test dl, 0x10
jne 0x1400163d8
call fcn.140015740
xor edx, edx
mov rcx, r15
movzx r8d, al
mov dword [0x14003d764], eax
mov rdi, rbx
and r8d, 0x20
or r8d, 2
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rsi, rax
cmp rax, rbx
je 0x1400163d8
test byte [0x14003d764], 0x20
jne 0x1400163da
lea rax, [rsp + 0x30]
mov r9d, 0x104
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x260]
mov rdx, r15
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, ebx
je 0x1400163cf
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jne 0x140015d6e
lea rax, [rsp + 0x260]
mov rbp, rbx
mov qword [rsp + 0x30], rax
jmp 0x140015d7a
lea rbp, [rsp + 0x260]
mov word [rax - 2], bx
xor r9d, r9d
lea rdx, [0x14002cbf8]
mov rcx, rsi
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
cmp rax, rbx
je 0x140016334
cmp r14w, bx
jne 0x1400162b0
mov eax, dword [0x14003d764]
test al, 4
je 0x1400160d8
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov r12w, ax
mov eax, 0x404
cmp r12w, ax
jne 0x140015dd0
call fcn.1400156c4
mov r12w, ax
and r13d, 8
lea r14, str.MUI_04hx
mov r15d, 0x55
cmp r13d, ebx
je 0x140015e9d
lea r9, [rsp + 0x1b0]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
movzx ecx, r12w
call fcn.1400159fc
cmp eax, ebx
je 0x140016313
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x100]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
cmp word [rsp + 0x1b0], bx
je 0x140015e83
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1b0]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0xc04
cmp r12w, ax
jne 0x140016014
mov r12d, 0x404
jmp 0x140015de1
lea rcx, [rsp + 0x50]
movzx r9d, r12w
mov r8, r14
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
xor r9d, r9d
movzx ecx, r12w
call fcn.1400159fc
cmp eax, ebx
je 0x140015f3b
lea rcx, [rsp + 0x100]
mov edx, 2
call fcn.140016590
cmp ax, bx
je 0x140015f3b
lea rcx, [rsp + 0x50]
movzx r9d, ax
mov r8, r14
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0xc04
cmp r12w, ax
je 0x140015e92
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx r13d, ax
cmp ax, r12w
je 0x140015ffc
lea rcx, [rsp + 0x50]
movzx r9d, ax
mov r8, r14
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
xor r9d, r9d
movzx ecx, r13w
call fcn.1400159fc
cmp eax, ebx
je 0x140015ffc
lea rcx, [rsp + 0x100]
mov edx, 2
call fcn.140016590
cmp ax, bx
je 0x140015ffc
lea rcx, [rsp + 0x50]
movzx r9d, ax
mov r8, r14
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0x409
cmp ax, r12w
je 0x140016293
cmp ax, r13w
jmp 0x14001626e
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx r13d, ax
cmp ax, r12w
je 0x1400160c0
lea r9, [rsp + 0x1b0]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
movzx ecx, ax
call fcn.1400159fc
cmp eax, ebx
je 0x140016329
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x100]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
cmp word [rsp + 0x1b0], bx
je 0x1400160c0
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1b0]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0x409
cmp ax, r12w
je 0x140016293
cmp ax, r13w
jmp 0x140016194
test al, 3
je 0x140016334
call fcn.1400155b8
movzx r12d, ax
test r13b, 8
je 0x1400161bb
lea r9, [rsp + 0x1b0]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
movzx ecx, ax
call fcn.1400159fc
cmp eax, ebx
je 0x140016334
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x100]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
cmp word [rsp + 0x1b0], bx
je 0x14001618b
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x1b0]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0x409
cmp ax, r12w
je 0x140016293
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
mov ecx, eax
xor r9d, r9d
call fcn.1400159fc
lea r8, [rsp + 0x50]
jmp 0x140016277
lea r14, str.MUI_04hx
mov r15d, 0x55
lea rcx, [rsp + 0x50]
mov r8, r14
movzx r9d, r12w
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
xor r9d, r9d
movzx ecx, r12w
call fcn.1400159fc
cmp eax, ebx
je 0x140016265
lea edx, [r15 - 0x53]
lea rcx, [rsp + 0x100]
call fcn.140016590
cmp ax, bx
je 0x140016265
lea rcx, [rsp + 0x50]
movzx r9d, ax
mov r8, r14
mov rdx, r15
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov eax, 0x409
cmp ax, r12w
je 0x140016293
lea r8, str.MUI0409
mov r9, qword [rsp + 0x30]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
mov r9, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rax, rbx
jne 0x140016318
jmp 0x140016313
test byte [0x14003d764], 7
je 0x140016334
test r13b, 8
je 0x1400162de
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x50]
xor r9d, r9d
movzx ecx, r14w
call fcn.1400159fc
cmp eax, ebx
je 0x140016334
jmp 0x1400162fb
movzx r9d, r14w
lea r14, str.MUI_04hx
lea rcx, [rsp + 0x50]
mov r8, r14
mov edx, 0x55
call fcn.1400159b8
mov r9, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, rsi
call fcn.140015c0c
mov rdi, rax
cmp rdi, rbx
je 0x140016329
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, rdi
jmp 0x1400163da
mov r15, qword [rsp + 0x40]
mov r14w, word [rsp + 0x38]
test byte [rsp + 0x3c], 0x10
je 0x14001635a
lea rdx, [0x14002cbf8]
movzx r9d, r14w
mov r8d, 1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
cmp rax, rbx
je 0x1400163cf
test sil, 1
je 0x1400163ca
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.140015740
test al, 0x38
je 0x1400163ae
mov rax, qword [rsp + 0x30]
lea r8, str._s_s
lea rcx, [rsp + 0x260]
mov r9, rbp
mov edx, 0x104
mov qword [rsp + 0x20], rax
call fcn.1400159b8
xor r8d, r8d
lea rcx, [rsp + 0x260]
lea edx, [r8 + 1]
call fcn.140015864
jmp 0x1400163c7
call fcn.140015740
mov rcx, r15
and eax, 0x26
setne bl
xor edx, edx
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rsi, rax
mov rax, rsi
jmp 0x1400163da
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.140004db0
mov rbx, qword [rsp + 0x4c8]
add rsp, 0x480
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret