Function at 0x140013ca0
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x700
mov rbx, r9
mov r13, rdx
mov r12, rcx
mov rcx, r8
call fcn.14004e430
mov r15, rax
mov rcx, rbx
call fcn.14004e430
mov r14, rax
xor esi, esi
lea rbx, [0x1400b1e00]
test r15, r15
je 0x140013d4f
test rax, rax
je 0x140013d4f
mov qword [rsp + 0x740], rbx
mov rcx, rbx
call fcn.140011d60
nop
mov rax, qword [r12 + 0x60]
mov ecx, dword [rsp + 0x768]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x760]
mov qword [rsp + 0x20], rcx
mov r9, r14
mov r8, r15
xor edx, edx
mov rcx, r13
call rax
test rax, rax
jne 0x140013d3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, rbx
call fcn.140011d70
nop
mov rcx, qword [r12]
xor ebp, ebp
mov rax, rcx
jmp 0x140013d66
mov esi, 8
xor ebp, ebp
mov rcx, qword [r12]
mov rax, rcx
test r15, r15
je 0x140013f28
test rax, rax
je 0x140013f20
test byte [rcx + 0x28], 8
je 0x140013e11
mov qword [rsp + 0x58], 0
lea rdx, [rsp + 0x50]
mov rcx, r15
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edi, eax
test eax, eax
je 0x140013e11
mov ecx, edi
call fcn.14004e4bc
mov rbx, rax
test rax, rax
je 0x140013e0a
mov r9, rax
mov r8d, edi
mov edx, dword [rsp + 0x50]
mov rcx, r15
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x140013e02
mov eax, 0x5c
mov word [rsp + 0x740], ax
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x740]
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x140013df0
mov qword [rsp + 0x58], 0
jmp 0x140013e02
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax + 8]
shl rbp, 0x20
mov eax, dword [rax + 0xc]
add rbp, rax
mov rcx, rbx
call fcn.14004e4a8
lea rbx, [0x1400b1e00]
lea rdi, [0x140088c58]
mov qword [rsp + 0x740], rbx
mov rcx, rbx
call fcn.140011d60
nop
lea r9, [rsp + 0x70]
mov r8, qword [rsp + 0x760]
mov rdx, r13
mov rcx, r12
call fcn.140012d40
mov ebx, eax
lea rcx, [0x1400b1e00]
call fcn.140011d70
nop
test ebx, ebx
je case.default.0x140013e72
movsxd rax, dword [rsp + 0x90]
cmp eax, 8
ja case.default.0x140013e72
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x13f54]
add rcx, rdx
jmp rcx
lea rdi, str._nosymbols_
jmp case.default.0x140013e72
lea rdi, str.COFF
jmp case.default.0x140013e72
lea rdi, [0x140088c7c]
jmp case.default.0x140013e72
lea rdi, [0x140088c80]
jmp case.default.0x140013e72
lea rdi, str._exported_
jmp case.default.0x140013e72
lea rdi, str._deferred_
jmp case.default.0x140013e72
lea rdi, [0x140088ca4]
jmp case.default.0x140013e72
lea rdi, [0x140088ca8]
jmp case.default.0x140013e72
lea rdi, str.Virtual
lea rcx, [rsp + 0x1b4]
lea rax, [rsp + 0x2b4]
cmp byte [rsp + 0x2b4], 0
cmove rax, rcx
mov rcx, qword [r12]
mov r10, qword [rcx]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], esi
mov eax, dword [rsp + 0x768]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x760]
mov r8, qword [rsp + 0x758]
mov rdx, qword [rsp + 0x750]
call qword [r10 + 0x10]
mov rcx, r15
call fcn.14004e4a8
test r14, r14
je 0x140013f35
mov rcx, r14
call fcn.14004e4a8
mov eax, esi
mov rbx, qword [rsp + 0x748]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret