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

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x1f0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1800fb008]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov rbx, rdx
mov rsi, rcx
call fcn.18001a700
mov rcx, rbx
call fcn.1800103b0
test al, al
je 0x18001a6c9
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp qword [rbx + 0x18], 8
jb 0x180019c21
mov rcx, qword [rbx]
jmp 0x180019c24
mov rcx, rbx
lea rdx, [rsp + 0x30]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
mov dword [rsp + 0x34], edi
test eax, eax
je 0x18001a6c9
mov rcx, rdi
lea rdx, [0x1800fd986]
call fcn.1800899d8
mov r14, rax
test rax, rax
je 0x18001a6c9
cmp qword [rbx + 0x18], 8
jb 0x180019c62
mov rbx, qword [rbx]
mov r9, rax
mov r8d, edi
mov edx, dword [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
mov rcx, r14
test eax, eax
jne 0x180019c86
call fcn.180088db0
jmp 0x18001a6c9
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [0x1800c44e8]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180019cd8
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x180019cd8
cmp dword [rsp + 0x20], 0x34
jne 0x180019cd8
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsi + 0x20], xmm0
mov eax, dword [rax + 0x30]
mov dword [rsi + 0x30], eax
mov ebx, r15d
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, str.VarFileInfoTranslation
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180019e01
cmp qword [rsp + 0x28], rbx
je 0x180019e01
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov rdx, qword [rsp + 0x28]
mov r8d, dword [rsp + 0x20]
add r8, rdx
cmp rdx, r8
jae 0x180019d37
cmp word [rdx], ax
je 0x180019d30
add rdx, 4
cmp rdx, r8
jb 0x180019d20
jmp 0x180019d37
mov ebx, dword [rdx]
jmp 0x180019e01
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx r10d, ax
mov r9, qword [rsp + 0x28]
mov r8, r9
mov edx, dword [rsp + 0x20]
add rdx, r9
cmp r9, rdx
jae 0x180019d6e
cmp word [r8], r10w
je 0x180019d66
add r8, 4
cmp r8, rdx
jb 0x180019d55
jmp 0x180019d6e
mov ebx, dword [r8]
jmp 0x180019e01
mov rcx, r9
cmp r9, rdx
jae 0x180019d9c
mov r8d, 0xff
and r10w, r8w
movzx eax, word [rcx]
and ax, r8w
cmp ax, r10w
je 0x180019d98
add rcx, 4
cmp rcx, rdx
jb 0x180019d80
jmp 0x180019d9c
mov ebx, dword [rcx]
jmp 0x180019e01
mov rax, r9
cmp r9, rdx
jae 0x180019db8
cmp word [rax], bx
je 0x180019db4
add rax, 4
cmp rax, rdx
jb 0x180019da4
jmp 0x180019db8
mov ebx, dword [rax]
jmp 0x180019e01
mov rax, r9
cmp r9, rdx
jae 0x180019dcd
cmp byte [rax], bl
je 0x180019db4
add rax, 4
cmp rax, rdx
jb 0x180019dc0
mov rax, r9
cmp r9, rdx
jae 0x180019de4
cmp word [rax], 9
je 0x180019db4
add rax, 4
cmp rax, rdx
jb 0x180019dd5
mov rax, r9
cmp r9, rdx
jae 0x180019dfe
nop dword [rax]
cmp byte [rax], 9
je 0x180019db4
add rax, 4
cmp rax, rdx
jb 0x180019df0
mov ebx, dword [r9]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
mov r9d, ebx
shr r9d, 0x10
movzx r8d, bx
lea rdx, str.StringFileInfo_04X_04X_
lea rcx, [rsp + 0x40]
call fcn.180007300
lea r8, str.CompanyName
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1c0]
call fcn.180010c40
nop
lea rdx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], 8
cmovae rdx, qword [rsp + 0x1c0]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180019eb8
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x180019eb8
or rbx, 0xffffffffffffffff
cmp word [rdx], 0
jne 0x180019e9f
mov r8, r15
jmp 0x180019ead
mov r8, rbx
inc r8
cmp word [rdx + r8*2], 0
jne 0x180019ea2
lea rcx, [rsi + 0x38]
call fcn.180003940
jmp 0x180019ebc
or rbx, 0xffffffffffffffff
lea r8, str.FileDescription
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x180]
call fcn.180010c40
nop
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], 8
cmovae rdx, qword [rsp + 0x180]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180019f34
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x180019f34
cmp word [rdx], 0
jne 0x180019f1c
mov r8, r15
jmp 0x180019f2b
mov r8, rbx
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x180019f20
lea rcx, [rsi + 0x58]
call fcn.180003940
lea r8, [0x1800c5068]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x140]
call fcn.180010c40
nop
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 8
cmovae rdx, qword [rsp + 0x140]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x180019fb4
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x180019fb4
cmp word [rdx], 0
jne 0x180019f94
mov r8, r15
jmp 0x180019fab
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180019fa0
lea rcx, [rsi + 0x78]
call fcn.180003940
lea r8, str.InternalName
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x100]
call fcn.180010c40
nop
lea rdx, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae rdx, qword [rsp + 0x100]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a037
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a037
cmp word [rdx], 0
jne 0x18001a014
mov r8, r15
jmp 0x18001a02b
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a020
lea rcx, [rsi + 0x98]
call fcn.180003940
lea r8, [0x1800c50a0]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180010c40
nop
lea rdx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 8
cmovae rdx, qword [rsp + 0xc0]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a0b7
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a0b7
cmp word [rdx], 0
jne 0x18001a097
mov r8, r15
jmp 0x18001a0ab
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a0a0
lea rcx, [rsi + 0xb8]
call fcn.180003940
lea r8, str.OriginalFileName
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x80]
call fcn.180010c40
nop
lea rdx, [rsp + 0x80]
cmp qword [rsp + 0x98], 8
cmovae rdx, qword [rsp + 0x80]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a137
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a137
cmp word [rdx], 0
jne 0x18001a117
mov r8, r15
jmp 0x18001a12b
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a120
lea rcx, [rsi + 0xd8]
call fcn.180003940
lea r8, str.ProductName
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x120]
call fcn.180010c40
nop
lea rdx, [rsp + 0x120]
cmp qword [rsp + 0x138], 8
cmovae rdx, qword [rsp + 0x120]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a1b7
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a1b7
cmp word [rdx], 0
jne 0x18001a197
mov r8, r15
jmp 0x18001a1ab
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a1a0
lea rcx, [rsi + 0xf8]
call fcn.180003940
lea r8, [0x1800c5100]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x160]
call fcn.180010c40
nop
lea rdx, [rsp + 0x160]
cmp qword [rsp + 0x178], 8
cmovae rdx, qword [rsp + 0x160]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a237
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a237
cmp word [rdx], 0
jne 0x18001a217
mov r8, r15
jmp 0x18001a22b
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a220
lea rcx, [rsi + 0x118]
call fcn.180003940
lea r8, str.Comments
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xe0]
call fcn.180010c40
nop
lea rdx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rdx, qword [rsp + 0xe0]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a2b7
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a2b7
cmp word [rdx], 0
jne 0x18001a297
mov r8, r15
jmp 0x18001a2ab
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a2a0
lea rcx, [rsi + 0x138]
call fcn.180003940
lea r8, str.LegalTrademarks
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180010c40
nop
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rdx, qword [rsp + 0x60]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a327
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a327
cmp word [rdx], 0
jne 0x18001a30b
mov r8, r15
jmp 0x18001a31b
mov r8, rbx
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a310
lea rcx, [rsi + 0x158]
call fcn.180003940
lea r8, str.PrivateBuild
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.180010c40
nop
lea rdx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rdx, qword [rsp + 0xa0]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a3a7
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a3a7
cmp word [rdx], 0
jne 0x18001a387
mov r8, r15
jmp 0x18001a39b
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001a390
lea rcx, [rsi + 0x178]
call fcn.180003940
lea r8, str.SpecialBuild
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1a0]
call fcn.180010c40
nop
lea rdx, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 8
cmovae rdx, qword [rsp + 0x1a0]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rcx, r14
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x18001a429
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x18001a429
cmp word [rdx], 0
jne 0x18001a410
mov rbx, r15
jmp 0x18001a41a
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x18001a410
lea rcx, [rsi + 0x198]
mov r8, rbx
call fcn.180003940
mov rcx, r14
call fcn.180088db0
nop
cmp qword [rsp + 0x1b8], 8
jb 0x18001a44a
mov rcx, qword [rsp + 0x1a0]
call fcn.18008861c
mov qword [rsp + 0x1b8], 7
mov qword [rsp + 0x1b0], r15
mov word [rsp + 0x1a0], r15w
cmp qword [rsp + 0xb8], 8
jb 0x18001a47f
mov rcx, qword [rsp + 0xa0]
call fcn.18008861c
mov qword [rsp + 0xb8], 7
mov qword [rsp + 0xb0], r15
mov word [rsp + 0xa0], r15w
cmp qword [rsp + 0x78], 8
jb 0x18001a4ae
mov rcx, qword [rsp + 0x60]
call fcn.18008861c
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r15
mov word [rsp + 0x60], r15w
cmp qword [rsp + 0xf8], 8
jb 0x18001a4da
mov rcx, qword [rsp + 0xe0]
call fcn.18008861c
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], r15
mov word [rsp + 0xe0], r15w
cmp qword [rsp + 0x178], 8
jb 0x18001a50f
mov rcx, qword [rsp + 0x160]
call fcn.18008861c
mov qword [rsp + 0x178], 7
mov qword [rsp + 0x170], r15
mov word [rsp + 0x160], r15w
cmp qword [rsp + 0x138], 8
jb 0x18001a544
mov rcx, qword [rsp + 0x120]
call fcn.18008861c
mov qword [rsp + 0x138], 7
mov qword [rsp + 0x130], r15
mov word [rsp + 0x120], r15w
cmp qword [rsp + 0x98], 8
jb 0x18001a579
mov rcx, qword [rsp + 0x80]
call fcn.18008861c
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r15
mov word [rsp + 0x80], r15w
cmp qword [rsp + 0xd8], 8
jb 0x18001a5ae
mov rcx, qword [rsp + 0xc0]
call fcn.18008861c
mov qword [rsp + 0xd8], 7
mov qword [rsp + 0xd0], r15
mov word [rsp + 0xc0], r15w
cmp qword [rsp + 0x118], 8
jb 0x18001a5e3
mov rcx, qword [rsp + 0x100]
call fcn.18008861c
mov qword [rsp + 0x118], 7
mov qword [rsp + 0x110], r15
mov word [rsp + 0x100], r15w
cmp qword [rsp + 0x158], 8
jb 0x18001a618
mov rcx, qword [rsp + 0x140]
call fcn.18008861c
mov qword [rsp + 0x158], 7
mov qword [rsp + 0x150], r15
mov word [rsp + 0x140], r15w
cmp qword [rsp + 0x198], 8
jb 0x18001a64d
mov rcx, qword [rsp + 0x180]
call fcn.18008861c
mov qword [rsp + 0x198], 7
mov qword [rsp + 0x190], r15
mov word [rsp + 0x180], r15w
cmp qword [rsp + 0x1d8], 8
jb 0x18001a682
mov rcx, qword [rsp + 0x1c0]
call fcn.18008861c
mov qword [rsp + 0x1d8], 7
mov qword [rsp + 0x1d0], r15
mov word [rsp + 0x1c0], r15w
cmp qword [rsp + 0x58], 8
jb 0x18001a6b1
mov rcx, qword [rsp + 0x40]
call fcn.18008861c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
mov al, 1
jmp 0x18001a6cb
xor al, al
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.180087ea0
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret