Function at 0x140097850
Capabilities:
Identify system language via api

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x278
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0x270], rax
movzx ebp, word [rcx + 0x28]
movzx r12d, word [rcx + 0x2a]
mov r15, qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call r15
mov r14d, eax
movzx r13d, word [rdi + 0x2a]
movzx eax, word [rdi + 0x28]
mov dword [rsp + 0x50], eax
call r15
mov word [rsp + 0x4e], ax
lea r15, [rsp + 0x60]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.1401a0cc0
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebp
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r15
call fcn.140097bb0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x54], 0xaaaaaaaa
mov rcx, qword [rdi + 0x20]
lea r8, [rsp + 0x58]
lea r9, [rsp + 0x54]
mov rdx, r15
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140097929
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140097929
mov r15d, dword [rsp + 0x54]
test r15d, r15d
jne 0x140097ac4
lea r15, [rsp + 0x60]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.1401a0cc0
movzx eax, r14w
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r15
call fcn.140097bb0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x54], 0xaaaaaaaa
mov rcx, qword [rdi + 0x20]
lea r8, [rsp + 0x58]
lea r9, [rsp + 0x54]
mov rdx, r15
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400979ad
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400979ad
mov r15d, dword [rsp + 0x54]
test r15d, r15d
jne 0x140097ac4
lea r14, [rsp + 0x60]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401a0cc0
mov qword [rsp + 0x30], rbx
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x4e4
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.140097bb0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x54], 0xaaaaaaaa
mov rcx, qword [rdi + 0x20]
lea r8, [rsp + 0x58]
lea r9, [rsp + 0x54]
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140097a34
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140097a34
mov r15d, dword [rsp + 0x54]
test r15d, r15d
jne 0x140097ac4
lea r14, [rsp + 0x60]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401a0cc0
movzx eax, word [rsp + 0x4e]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x4e4
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.140097bb0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x54], 0xaaaaaaaa
mov rcx, qword [rdi + 0x20]
lea r8, [rsp + 0x58]
lea r9, [rsp + 0x54]
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x140097b7a
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140097b7a
mov r15d, dword [rsp + 0x54]
test r15d, r15d
je 0x140097b7a
lea edi, [r15 - 1]
movzx r9d, byte [rsi + 0x17]
test r9b, r9b
js 0x140097ae1
mov rbx, rsi
cmp edi, 0xa
jbe 0x140097b29
mov eax, 0xa
jmp 0x140097afb
movabs rax, 0x7fffffffffffffff
and rax, qword [rsi + 0x10]
dec rax
cmp rax, rdi
jae 0x140097b26
mov r9, qword [rsi + 8]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdi
sub rdi, rax
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rax
mov r8, rdi
call fcn.140097c70
jmp 0x140097b51
mov rbx, qword [rsi]
lea r8, [rdi + rdi]
mov rcx, rbx
call fcn.1401a0610
cmp byte [rsi + 0x17], 0
js 0x140097b47
cmp r15d, 0xc
jae 0x140097b7e
mov byte [rsi + 0x17], dil
jmp 0x140097b4b
mov qword [rsi + 8], rdi
mov word [rbx + rdi*2], 0
mov sil, 1
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.14019eb90
mov eax, esi
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x140097b54
lea rax, str.__s_should_never_be_greater_than_or_equal_to_the_short_string_capacity
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s_____min_cap
mov r8d, 0x6c6
call fcn.14003a2a8
int3