Function at 0x140002334
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 0x140002542
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.140002d40
test eax, eax
je 0x14000255b
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 0x140002512
mov edx, r14d
mov ecx, 0x42
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x140002552
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x140002549
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 0x1400024fe
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 0x140002501
cmp dword [rbp + 0x60], r15d
je 0x140002501
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 0x140002484
or eax, 0xffffffff
jmp 0x140002499
jbe 0x14000248d
mov eax, 1
jmp 0x140002499
cmp r9d, dword [rcx - 8]
jb 0x14000247f
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x20], eax
cmp r8d, dword [rcx]
jae 0x1400024a7
or eax, 0xffffffff
jmp 0x1400024bc
jbe 0x1400024b0
mov eax, 1
jmp 0x1400024bc
cmp r9d, dword [rcx + 4]
jb 0x1400024a2
mov eax, r15d
seta al
mov dword [rbp + rdx - 0x18], eax
add rcx, 0x18
add rdx, 4
cmp rdx, 8
jl 0x140002479
cmp dword [rbp - 0x20], r15d
jl 0x1400024da
cmp dword [rbp - 0x18], r15d
jle 0x140002501
cmp dword [rbp - 0x1c], r15d
jl 0x1400024e6
cmp dword [rbp - 0x14], r15d
jle 0x140002501
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
mov dword [r12], ebx
mov esi, r15d
jmp 0x140002567
xor r15d, r15d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop dword [rax + rax]
jmp 0x14000252a
cmp dword [rsi + r13 + 0x84], r15d
jne 0x14000255b
cmp dword [rsi + r13 + 0x88], r15d
jne 0x14000255b
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 0x140002384
mov esi, 1
jmp 0x14000255e
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
jmp 0x140002567
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
jmp 0x140002576
mov esi, dword [rbp + 0x58]
mov dword [r12], ebx
test rdi, rdi
je 0x140002576
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