Function at 0x14004d960
Capabilities:
Identify system language via api
Print debug messages

Disassembly:
push rsi
push rdi
push r12
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbp
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ebx, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx edi, ax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx esi, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ebp, ax
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004d9d3
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004d9ca
mov rcx, rax
call fcn.140050830
jmp 0x14004d9cc
xor eax, eax
mov qword [0x1401370f0], rax
lea rdx, str._____Language_IDs____
mov rcx, rax
call fcn.140050c00
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004da15
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004da0c
mov rcx, rax
call fcn.140050830
jmp 0x14004da0e
xor eax, eax
mov qword [0x1401370f0], rax
movzx r8d, bx
mov r9d, r8d
lea rdx, str.__User_Default_UI_Language_____d_____x
mov rcx, rax
call fcn.140050c00
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004da5e
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004da55
mov rcx, rax
call fcn.140050830
jmp 0x14004da57
xor eax, eax
mov qword [0x1401370f0], rax
movzx r8d, di
mov r9d, r8d
lea rdx, str.__System_Default_UI_Language___d_____x
mov rcx, rax
call fcn.140050c00
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004daa7
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004da9e
mov rcx, rax
call fcn.140050830
jmp 0x14004daa0
xor eax, eax
mov qword [0x1401370f0], rax
movzx r8d, si
mov r9d, r8d
lea rdx, str.__User_Default_Language_ID_____d_____x
mov rcx, rax
call fcn.140050c00
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004daf0
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004dae7
mov rcx, rax
call fcn.140050830
jmp 0x14004dae9
xor eax, eax
mov qword [0x1401370f0], rax
movzx r8d, bp
mov r9d, r8d
lea rdx, str.__System_Default_Language_ID___d_____x
mov rcx, rax
call fcn.140050c00
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ebp, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx esi, ax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
cmp bp, bx
jne 0x14004db5d
cmp bp, ax
jne 0x14004db5d
xor ecx, ecx
movzx edx, bp
lea rdi, [0x14012f770]
mov rax, rdi
cmp dword [rax], edx
je 0x14004db52
add ecx, 1
add rax, 0x18
cmp ecx, 0x26
jb 0x14004db40
jmp 0x14004db8e
lea rcx, [rcx + rcx*2]
mov bp, word [rdi + rcx*8 + 4]
jmp 0x14004db8e
xor eax, eax
movzx edx, si
lea rdi, [0x14012f770]
mov rcx, rdi
nop
cmp dword [rcx], edx
je 0x14004db85
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14004db70
mov bp, si
jmp 0x14004db8e
lea rcx, [rax + rax*2]
mov bp, word [rdi + rcx*8 + 4]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx esi, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx r12d, ax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
cmp si, bx
jne 0x14004dbdf
cmp si, ax
jne 0x14004dbdf
xor ecx, ecx
movzx edx, si
mov rax, rdi
cmp dword [rax], edx
je 0x14004dbd4
add ecx, 1
add rax, 0x18
cmp ecx, 0x26
jb 0x14004dbc2
jmp 0x14004dc07
lea rcx, [rcx + rcx*2]
mov si, word [rdi + rcx*8 + 4]
jmp 0x14004dc07
xor eax, eax
movzx edx, r12w
mov rcx, rdi
cmp dword [rcx], edx
je 0x14004dbfe
add eax, 1
add rcx, 0x18
cmp eax, 0x26
jb 0x14004dbe8
mov si, r12w
jmp 0x14004dc07
lea rdx, [rax + rax*2]
mov si, word [rdi + rdx*8 + 4]
mov rax, qword [0x1401370f0]
test rax, rax
jne 0x14004dc3a
mov ecx, 0x310
call fcn.140084d88
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14004dc31
mov rcx, rax
call fcn.140050830
jmp 0x14004dc33
xor eax, eax
mov qword [0x1401370f0], rax
movzx r9d, bp
movzx r8d, si
lea rdx, str.__Language_ID_To_Be_Used_______d_____x
mov rcx, rax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
jmp fcn.140050c00