Function at 0x1400290e0
Capabilities:
Get file version info
Identify system language via api

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1401c4de0]
xor rax, rsp
mov qword [rbp + 8], rax
mov r14, r8
mov qword [rsp + 0x38], r8
mov rbx, rdx
mov rsi, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rcx], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 7
mov word [rcx], r13w
mov dword [rsp + 0x30], 1
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov qword [rbp - 0x18], r13
cmp qword [rdx + 0x18], 8
jb 0x140029159
mov rdx, qword [rdx]
lea r8, [rbp - 0x30]
mov ecx, 1
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeExW]
mov edi, eax
test eax, eax
je 0x140029538
mov edx, edi
lea rcx, [rbp - 0x28]
call fcn.1400107c0
cmp qword [rbx + 0x18], 8
jb 0x140029187
mov rbx, qword [rbx]
mov r15, qword [rbp - 0x28]
mov qword [rsp + 0x20], r15
mov r9d, edi
xor r8d, r8d
mov rdx, rbx
lea ecx, [r8 + 1]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoExW]
test eax, eax
je 0x14002953c
mov qword [rbp - 0x40], r13
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x40]
lea rdx, str.VarFileInfoTranslation
mov rcx, r15
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140029493
mov rbx, qword [rbp - 0x40]
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x140029497
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x60], r13
mov rsi, r13
mov qword [rsp + 0x70], r13
mov r12d, 7
mov qword [rsp + 0x78], r12
mov word [rsp + 0x60], r13w
mov r14d, 3
mov dword [rsp + 0x30], r14d
test rsi, rsi
jne 0x140029432
shr eax, 2
cmp r13d, eax
jae 0x140029432
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov ecx, 0x800
call fcn.1401420a0
mov rdi, rax
mov qword [rbp - 0x10], rax
lea rbx, [rax + 0x800]
mov qword [rbp], rbx
xor edx, edx
mov r8d, 0x800
mov rcx, rax
call fcn.140144890
mov qword [rbp - 8], rbx
mov rax, qword [rsp + 0x38]
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x14002926e
mov rcx, qword [rax]
mov rbx, qword [rbp - 0x60]
movzx eax, word [rbx + 2]
movzx r9d, word [rbx]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r8, str.StringFileInfo_04x_04x_Ls
mov edx, 0x400
mov rcx, rdi
call fcn.1400295c0
xor ebx, ebx
test eax, eax
js 0x140029403
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], bx
jne 0x1400292c0
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140012600
nop
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], bx
or r14d, 4
mov dword [rsp + 0x30], r14d
mov qword [rbp - 0x38], rbx
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x38]
mov rcx, r15
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140029349
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x140029349
cmp dword [rbp - 0x30], 0
je 0x140029349
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x140029335
lea rcx, [rbp - 0x80]
call fcn.140012600
cmp r12, 8
jb 0x140029386
lea rdx, [r12*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029381
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400295a1
call fcn.1401420dc
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rsp + 0x70], xmm1
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400293e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400293de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400295a7
call fcn.1401420dc
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
inc r13d
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
test rdi, rdi
mov eax, dword [rsp + 0x34]
je 0x140029210
mov edx, 0x800
mov rcx, rdi
call fcn.1401420dc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], rbx
mov eax, dword [rsp + 0x34]
jmp 0x140029210
lea rdx, [rsp + 0x60]
mov rsi, qword [rbp - 0x58]
mov rcx, rsi
call fcn.14000c1b0
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14002948e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029489
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400295ad
call fcn.1401420dc
mov r14, qword [rsp + 0x38]
mov rbx, qword [rbp - 0x40]
cmp qword [rsi + 0x10], 0
jne 0x14002953c
test rbx, rbx
je 0x1400294bd
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ecx, ax
mov rax, qword [rbp - 0x40]
cmp word [rax], cx
je 0x14002953c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [rsp + 0x34], ax
mov eax, 0x4b0
mov word [rsp + 0x36], ax
mov qword [rsp + 0x20], r14
mov r9d, dword [rbp - 0x48]
lea r8, [rsp + 0x34]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x80]
call fcn.140028dd0
mov rdx, rax
mov rcx, rsi
call fcn.14000c1b0
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140029538
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029533
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400295b3
call fcn.1401420dc
mov r15, qword [rbp - 0x28]
test r15, r15
je 0x140029571
mov rdx, qword [rbp - 0x18]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x140029569
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002959b
mov rcx, r15
call fcn.1401420dc
mov rax, rsi
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140142180
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
int3
call fcn.140149044
int3