Function at 0x6d5d50
Capabilities:
Get file version info

Disassembly:
push rbp
sub rsp, 0xc0
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x78], rbp
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], r8
mov rax, qword [rbp + 0xd8]
mov qword [rax], 0
mov rax, qword [rbp + 0xe0]
mov qword [rax], 0
nop
mov byte [rbp + 0xb7], 0
mov rcx, qword [rbp + 0xd8]
call fcn.00410520
mov rcx, qword [rbp + 0xe0]
call fcn.00410520
mov rcx, qword [rbp + 0xd0]
call fcn.00411de0
mov rcx, rax
lea rdx, [rbp + 0xa0]
call sub.version.dll_GetFileVersionInfoSizeW
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0xa4], 0
je 0x6d602c
mov ecx, dword [rbp + 0xa4]
call fcn.004092c0
mov qword [rbp + 0xb8], rax
nop
mov rcx, qword [rbp + 0xd0]
call fcn.00411de0
mov rcx, rax
xor edx, edx
mov r8d, dword [rbp + 0xa4]
mov r9, qword [rbp + 0xb8]
call sub.version.dll_GetFileVersionInfoW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6d601e
lea rcx, [rbp + 0x90]
lea rdx, [0x006d60bc]
call fcn.00410c20
mov rcx, qword [rbp + 0xb8]
lea rdx, [0x006d60ce]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0x9c]
call sub.version.dll_VerQueryValueW
test eax, eax
je 0x6d5f04
mov rax, qword [rbp + 0x88]
cmp word [rax], 0
jne 0x6d5ea9
mov rax, qword [rbp + 0x88]
mov word [rax], 0x409
mov rax, qword [rbp + 0x88]
cmp word [rax + 2], 0
jne 0x6d5ec4
mov rax, qword [rbp + 0x88]
mov word [rax + 2], 0x4e4
mov rax, qword [rbp + 0x88]
movzx eax, word [rax]
mov dword [rbp + 0x58], eax
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0x88]
movzx eax, word [rax + 2]
mov dword [rbp + 0x68], eax
mov byte [rbp + 0x70], 0
lea rcx, [rbp + 0x90]
lea rdx, [0x006d610c]
lea r8, [rbp + 0x58]
mov r9d, 1
call fcn.004382c0
lea rcx, [rbp + 0x50]
mov edx, 3
lea r8, [0x006d612c]
mov r9, qword [rbp + 0x90]
lea rax, [0x006d615c]
mov qword [rsp + 0x20], rax
call fcn.00412330
mov rcx, qword [rbp + 0x50]
call fcn.00411de0
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa0]
call sub.version.dll_VerQueryValueW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6d5f8d
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0xa8]
call fcn.00437ff0
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x48]
call fcn.00410b90
mov byte [rbp + 0xb7], 1
lea rcx, [rbp + 0x40]
mov edx, 3
lea r8, [0x006d612c]
mov r9, qword [rbp + 0x90]
lea rax, [0x006d6184]
mov qword [rsp + 0x20], rax
call fcn.00412330
mov rcx, qword [rbp + 0x40]
call fcn.00411de0
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa0]
call sub.version.dll_VerQueryValueW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6d600f
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0xa8]
call fcn.00437ff0
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0x38]
call fcn.00410b90
nop
mov rcx, qword [rbp + 0xb8]
call fcn.004092f0
jmp 0x6d602b
xor ecx, ecx
mov rdx, qword [rbp + 0x78]
call fcn.006d6060
jmp 0x6d602c
nop
lea rcx, [rbp + 0x38]
mov edx, 4
call fcn.00410600
lea rcx, [rbp + 0x90]
call fcn.00410520
movzx rax, byte [rbp + 0xb7]
lea rsp, [rbp + 0xc0]
pop rbp
ret