Function at 0x140002354
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 r13, r9
mov r14, rdx
mov r12, rcx
mov esi, 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 0x140002565
mov eax, r15d
mov qword [rbp - 0x10], rax
mov edi, dword [r12 + 0x80]
mov rcx, r14
add rdi, rax
mov r8d, dword [rdi + r12 + 0xbc]
add r8, 0x84
add r8, r12
call fcn.140002d68
test eax, eax
je 0x14000257e
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 0x140002534
mov edx, r14d
mov ecx, 0x42
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x140002575
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x14000256c
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 0x140002520
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 0x140002523
cmp dword [rbp + 0x60], r15d
je 0x140002523
mov rax, qword [rbp - 0x28]
lea rcx, [r12 + 0x90]
add rcx, rdi
mov edx, r15d
mov r8d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
cmp r9d, dword [rcx - 0xc]
jae 0x1400024a6
or eax, 0xffffffff
jmp 0x1400024bb
jbe 0x1400024af
mov eax, 1
jmp 0x1400024bb
cmp r8d, dword [rcx - 8]
jb 0x1400024a1
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x20], eax
cmp r9d, dword [rcx]
jae 0x1400024c9
or eax, 0xffffffff
jmp 0x1400024de
jbe 0x1400024d2
mov eax, 1
jmp 0x1400024de
cmp r8d, dword [rcx + 4]
jb 0x1400024c4
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x18], eax
add rcx, 0x18
add rdx, 4
cmp rdx, 8
jl 0x14000249b
cmp dword [rbp - 0x20], r15d
jl 0x1400024fc
cmp dword [rbp - 0x18], r15d
jle 0x140002523
cmp dword [rbp - 0x1c], r15d
jl 0x140002508
cmp dword [rbp - 0x14], r15d
jle 0x140002523
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
mov dword [r13], ebx
mov edi, r15d
jmp 0x14000258a
xor r15d, r15d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
jmp 0x14000254c
cmp dword [rdi + r12 + 0x84], r15d
jne 0x14000257e
cmp dword [rdi + r12 + 0x88], r15d
jne 0x14000257e
mov r14, qword [rbp + 0x50]
mov rax, qword [rbp - 0x10]
inc ebx
add rax, 0x3c
mov qword [rbp - 0x10], rax
cmp ebx, dword [r12 + 0x7c]
jl 0x1400023a4
mov edi, 1
jmp 0x140002581
mov edi, dword [rbp + 0x58]
mov dword [r13], ebx
jmp 0x14000258a
mov edi, dword [rbp + 0x58]
mov dword [r13], ebx
jmp 0x140002599
mov edi, dword [rbp + 0x58]
mov dword [r13], ebx
test rsi, rsi
je 0x140002599
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
mov eax, edi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret