Function at 0x140002328
Capabilities:
Get file version info

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
xor r15d, r15d
mov r12, r9
mov r14, rdx
mov r13, rcx
mov edi, r15d
mov dword [rbp + 0x60], r15d
mov ebx, r15d
mov dword [rbp + 0x48], r15d
mov qword [rbp - 0x28], r15
mov dword [rbp + 0x58], r15d
cmp dword [rcx + 0x7c], r15d
jle 0x140002536
mov eax, r15d
mov qword [rbp - 0x10], rax
mov esi, dword [r13 + 0x80]
mov rcx, r14
add rsi, rax
mov r8d, dword [rsi + r13 + 0xbc]
add r8, 0x84
add r8, r13
call fcn.140002d84
test eax, eax
je 0x14000254f
lea rdx, [rbp + 0x48]
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
nop dword [rax + rax]
mov r14d, eax
test eax, eax
je 0x140002506
mov edx, r14d
mov ecx, 0x42
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x140002546
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x14000253d
mov edx, dword [rbp + 0x48]
mov r8d, r14d
mov r14, qword [rbp + 0x50]
mov r9, rax
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoA]
nop dword [rax + rax]
test eax, eax
je 0x1400024f2
lea r9, [rbp + 0x60]
mov rcx, r15
lea r8, [rbp - 0x28]
lea rdx, [0x14000b87c]
call qword [sym.imp.VERSION.dll_VerQueryValueA]
nop dword [rax + rax]
xor r15d, r15d
test eax, eax
je 0x1400024f5
cmp dword [rbp + 0x60], r15d
je 0x1400024f5
mov rax, qword [rbp - 0x28]
lea rcx, [r13 + 0x90]
add rcx, rsi
mov edx, r15d
mov r9d, dword [rax + 0xc]
mov r8d, dword [rax + 8]
cmp r8d, dword [rcx - 0xc]
jae 0x140002478
or eax, 0xffffffff
jmp 0x14000248d
jbe 0x140002481
mov eax, 1
jmp 0x14000248d
cmp r9d, dword [rcx - 8]
jb 0x140002473
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x20], eax
cmp r8d, dword [rcx]
jae 0x14000249b
or eax, 0xffffffff
jmp 0x1400024b0
jbe 0x1400024a4
mov eax, 1
jmp 0x1400024b0
cmp r9d, dword [rcx + 4]
jb 0x140002496
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x18], eax
add rcx, 0x18
add rdx, 4
cmp rdx, 8
jl 0x14000246d
cmp dword [rbp - 0x20], r15d
jl 0x1400024ce
cmp dword [rbp - 0x18], r15d
jle 0x1400024f5
cmp dword [rbp - 0x1c], r15d
jl 0x1400024da
cmp dword [rbp - 0x14], r15d
jle 0x1400024f5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
mov dword [r12], ebx
mov esi, r15d
jmp 0x14000255b
xor r15d, r15d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
jmp 0x14000251e
cmp dword [rsi + r13 + 0x84], r15d
jne 0x14000254f
cmp dword [rsi + r13 + 0x88], r15d
jne 0x14000254f
mov r14, qword [rbp + 0x50]
mov rax, qword [rbp - 0x10]
inc ebx
add rax, 0x3c
mov qword [rbp - 0x10], rax
cmp ebx, dword [r13 + 0x7c]
jl 0x140002378
mov esi, 1
jmp 0x140002552
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
jmp 0x14000255b
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
jmp 0x14000256a
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
test rdi, rdi
je 0x14000256a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
mov eax, esi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret