Function at 0x140013850
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push r15
sub rsp, 0x728
mov qword [rax + 0x10], rbx
mov rbx, r9
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov r12, rcx
mov qword [rax - 0x30], r13
mov rcx, r8
mov r13, rdx
call fcn.14004c100
mov rcx, rbx
mov rdi, rax
call fcn.14004c100
xor esi, esi
mov r15, rax
mov ebp, esi
test rdi, rdi
je 0x1400138e0
test rax, rax
je 0x1400138e0
mov eax, dword [rsp + 0x768]
mov r9, r15
mov r10, qword [r12 + 0x60]
mov r8, rdi
mov dword [rsp + 0x28], eax
xor edx, edx
mov rax, qword [rsp + 0x760]
mov rcx, r13
mov qword [rsp + 0x20], rax
call r10
test rax, rax
jne 0x1400138e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400138e5
mov ebp, 8
mov rax, qword [r12]
test rax, rax
je 0x140013a8d
test rdi, rdi
je 0x140013a9a
test byte [rax + 0x28], 8
mov qword [rsp + 0x700], r14
je 0x140013998
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x58], rsi
mov rcx, rdi
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov r14d, eax
test eax, eax
je 0x140013998
mov ecx, r14d
call fcn.14004c18c
mov rbx, rax
test rax, rax
je 0x140013998
mov edx, dword [rsp + 0x50]
mov r9, rax
mov r8d, r14d
mov rcx, rdi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x140013990
mov eax, 0x5c
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
mov word [rsp + 0x740], ax
lea rdx, [rsp + 0x740]
mov rcx, rbx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x14001397e
mov qword [rsp + 0x58], rsi
jmp 0x140013990
mov rax, qword [rsp + 0x58]
mov esi, dword [rax + 8]
mov eax, dword [rax + 0xc]
shl rsi, 0x20
add rsi, rax
mov rcx, rbx
call fcn.14004c178
mov r14, qword [rsp + 0x760]
lea r9, [rsp + 0x70]
mov r8, r14
lea rbx, [0x140084e20]
mov rdx, r13
mov rcx, r12
call fcn.140012740
test eax, eax
je case.default.0x1400139dc
movsxd rax, dword [rsp + 0x90]
cmp eax, 8
ja case.default.0x1400139dc
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x13adc]
add rcx, rdx
jmp rcx
lea rbx, str._nosymbols_
jmp case.default.0x1400139dc
lea rbx, str.COFF
jmp case.default.0x1400139dc
lea rbx, [0x140084e44]
jmp case.default.0x1400139dc
lea rbx, [0x140084e48]
jmp case.default.0x1400139dc
lea rbx, str._exported_
jmp case.default.0x1400139dc
lea rbx, str._deferred_
jmp case.default.0x1400139dc
lea rbx, [0x140084e6c]
jmp case.default.0x1400139dc
lea rbx, [0x140084e70]
jmp case.default.0x1400139dc
lea rbx, str.Virtual
cmp byte [rsp + 0x2b4], 0
lea rcx, [rsp + 0x1b4]
mov r8, qword [rsp + 0x758]
lea rax, [rsp + 0x2b4]
mov rdx, qword [rsp + 0x750]
cmove rax, rcx
mov rcx, qword [r12]
mov r9, r14
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x768]
mov r10, qword [rcx]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], eax
call qword [r10 + 0x10]
mov r14, qword [rsp + 0x700]
test rdi, rdi
je 0x140013a9a
mov rcx, rdi
call fcn.14004c178
mov r13, qword [rsp + 0x708]
mov r12, qword [rsp + 0x710]
mov rdi, qword [rsp + 0x718]
mov rsi, qword [rsp + 0x720]
mov rbx, qword [rsp + 0x748]
test r15, r15
je 0x140013acf
mov rcx, r15
call fcn.14004c178
mov eax, ebp
add rsp, 0x728
pop r15
pop rbp
ret