Function at 0x1400ea560
Capabilities:
Get file version info

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0xc90
mov qword [r11 - 0xc28], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1404716f0]
xor rax, rsp
mov qword [rsp + 0xc80], rax
movzx esi, r8b
mov rbx, rdx
mov rdi, rcx
xor r14d, r14d
lea r8, [0x140392d60]
mov rdx, rcx
lea rcx, [r11 - 0x8c8]
call sym.WavesHeadTracker.exe_public:_void___cdecl_wvWavesV11_0_1_1::FM::WCStPath::constructor_class_wvWavesV11_0_1_1::FM::WCStPath_const____ptr64__char_const____ptr64____ptr64
nop
mov rcx, rdi
call sym.WavesHeadTracker.exe_bool___cdecl_wvWavesV11_0_1_1::FM::IsBundlePath_class_wvWavesV11_0_1_1::FM::WCStPath_const____ptr64_
test al, al
je 0x1400ea5d4
lea rdx, [rsp + 0x3e0]
mov rcx, rdi
call sym.WavesHeadTracker.exe_int___cdecl_wvWavesV11_0_1_1::FM::GetPathToBundleMainExecutable_class_wvWavesV11_0_1_1::FM::WCStPath_const____ptr64__class_wvWavesV11_0_1_1::FM::WCStPath____ptr64_
lea rdx, [rsp + 0x810]
lea rcx, [rsp + 0x3e0]
call sym.WavesHeadTracker.exe_public:_class_WCFixedString_1023____cdecl_wvWavesV11_0_1_1::FM::WCStPath::GetPathString_void____ptr64
mov dword [rsp + 0x30], r14d
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x810]
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edi, eax
test eax, eax
je 0x1400ea970
mov rcx, rdi
call fcn.14010aa90
mov r15, rax
test rax, rax
je 0x1400ea989
mov r9, r15
mov r8d, edi
xor edx, edx
mov rcx, qword [rsp + 0x810]
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x1400ea9a2
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
lea r8, [0x1402b42d8]
lea rdx, str.StringFileInfo040904B0_s
lea rcx, [rsp + 0xc30]
call fcn.140005a90
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0xc30]
mov rcx, r15
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1400ea9e6
mov eax, dword [rsp + 0x20]
test eax, eax
je 0x1400ea9e6
lea r9d, [rax - 1]
mov r8, qword [rsp + 0x28]
mov rax, qword [rbx]
mov qword [rbx + 0x10], rax
mov byte [rax], 0
mov rcx, r8
mov qword [rsp + 0x50], rcx
mov rdx, qword [rbx + 0x10]
nop dword [rax]
mov rax, qword [rbx + 8]
add rax, qword [rbx]
cmp rdx, rax
jae 0x1400ea6e3
lea rax, [r8 + r9]
cmp rcx, rax
jae 0x1400ea6e3
movzx eax, byte [rcx]
test al, al
je 0x1400ea6e3
inc rcx
mov qword [rsp + 0x50], rcx
mov byte [rdx], al
mov rdx, qword [rbx + 0x10]
inc rdx
mov qword [rbx + 0x10], rdx
jmp 0x1400ea6b0
mov byte [rdx], 0
test sil, sil
jne 0x1400ea926
lea r8, [0x1402b4308]
lea rdx, str.StringFileInfo040904B0_s
lea rcx, [rsp + 0xc30]
call fcn.140005a90
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0xc30]
mov rcx, r15
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1400ea9c4
mov eax, dword [rsp + 0x20]
test eax, eax
je 0x1400ea9c4
lea r8, [rsp + 0x2d8]
mov qword [rsp + 0x2c0], r8
mov r10d, 0xff
mov r9d, r10d
mov qword [rsp + 0x2c8], r10
lea rcx, [rsp + 0x2d8]
mov qword [rsp + 0x2d0], rcx
mov byte [rsp + 0x2d8], sil
lea edi, [rax - 1]
mov r11, qword [rsp + 0x28]
lea rcx, [rsp + 0x2d8]
mov qword [rsp + 0x2d0], rcx
mov byte [rsp + 0x2d8], sil
mov rdx, r11
mov qword [rsp + 0x58], rdx
nop dword [rax]
lea rax, [r9 + r8]
cmp rcx, rax
jae 0x1400ea7e8
lea rax, [rdi + r11]
cmp rdx, rax
jae 0x1400ea7e8
movzx eax, byte [rdx]
test al, al
je 0x1400ea7e8
inc rdx
mov qword [rsp + 0x58], rdx
mov byte [rcx], al
mov rcx, qword [rsp + 0x2d0]
inc rcx
mov qword [rsp + 0x2d0], rcx
mov r9, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c0]
jmp 0x1400ea7a0
mov byte [rcx], 0
lea r11, [rsp + 0x88]
mov qword [rsp + 0x78], r11
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r10
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x98], r8
mov byte [rsp + 0xa0], 0
lea rcx, [0x1403a4e90]
mov qword [rsp + 0x60], rcx
lea r9, [rsp + 0xa0]
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1400ea882
add rax, r10
cmp r9, rax
jae 0x1400ea882
inc rcx
mov qword [rsp + 0x60], rcx
mov byte [r8], dl
mov r8, qword [rsp + 0x98]
inc r8
mov r9, r8
mov qword [rsp + 0x98], r8
mov r10, qword [rsp + 0x90]
mov rax, qword [rsp + 0x88]
jmp 0x1400ea840
mov rax, qword [r11 + 0x10]
mov byte [rax], 0
mov rcx, qword [r11]
test rcx, rcx
je 0x1400ea8c5
mov qword [rsp + 0x68], rcx
movzx edx, byte [rcx]
test dl, dl
je 0x1400ea8be
mov r8, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
add rax, qword [rbx]
cmp r8, rax
jae 0x1400ea8be
inc rcx
mov qword [rsp + 0x68], rcx
mov byte [r8], dl
inc qword [rbx + 0x10]
jmp 0x1400ea896
mov rax, qword [rbx + 0x10]
mov byte [rax], 0
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x78], rax
xor r8d, r8d
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x1a0]
call sym.WavesHeadTracker.exe_public:_void___cdecl_WCFixedString_255_::constructor_class_WCFixedString_255__const____ptr64__char_const__const___ptr64____ptr64
mov rcx, qword [rax]
test rcx, rcx
je 0x1400ea926
mov qword [rsp + 0x70], rcx
movzx edx, byte [rcx]
test dl, dl
je 0x1400ea91f
mov r8, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
add rax, qword [rbx]
cmp r8, rax
jae 0x1400ea91f
inc rcx
mov qword [rsp + 0x70], rcx
mov byte [r8], dl
inc qword [rbx + 0x10]
jmp 0x1400ea8f7
mov rax, qword [rbx + 0x10]
mov byte [rax], 0
mov rcx, r15
call fcn.14010a370
nop
lea rcx, [rsp + 0x3e0]
call sym.WavesHeadTracker.exe_public_virtual:_void___cdecl_wvWavesV11_0_1_1::FM::WCStPath::destructor_void____ptr64
nop
jmp 0x1400ea944
mov eax, r14d
mov rcx, qword [rsp + 0xc80]
xor rcx, rsp
call fcn.14010a310
lea r11, [rsp + 0xc90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov dword [rsp + 0x34], 0xfffff05d
lea rdx, [0x140456c10]
lea rcx, [rsp + 0x34]
call sub.VCRUNTIME140.dll__CxxThrowException
mov dword [rsp + 0x38], 0xfffff05f
lea rdx, [0x140456c10]
lea rcx, [rsp + 0x38]
call sub.VCRUNTIME140.dll__CxxThrowException
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call sym.WavesHeadTracker.exe_int___cdecl_ConvertErrorWIN_unsigned_long_int_
mov dword [rsp + 0x3c], eax
lea rdx, [0x140456c10]
lea rcx, [rsp + 0x3c]
call sub.VCRUNTIME140.dll__CxxThrowException
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call sym.WavesHeadTracker.exe_int___cdecl_ConvertErrorWIN_unsigned_long_int_
mov dword [rsp + 0x40], eax
lea rdx, [0x140456c10]
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call sym.WavesHeadTracker.exe_int___cdecl_ConvertErrorWIN_unsigned_long_int_
mov dword [rsp + 0x44], eax
lea rdx, [0x140456c10]
lea rcx, [rsp + 0x44]
call sub.VCRUNTIME140.dll__CxxThrowException
int3