Function at 0x1400bb020
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rsi, rdx
xor edi, edi
mov dword [rsp + 0x30], edi
lea rax, [0x1401a1e20]
mov qword [rdx], rax
mov dword [rsp + 0x30], 1
lea rcx, [rsp + 0x38]
call fcn.1400bb3f0
nop
mov rbx, qword [rsp + 0x38]
mov eax, dword [rbx + 4]
inc eax
mov dword [rbp + 0x94], eax
cmp eax, 0x100
jle 0x1400bb0b4
movsxd rcx, eax
add rcx, rcx
call fcn.14012ab94
mov rcx, rax
mov qword [rbp + 0x98], rax
test rax, rax
jne 0x1400bb0a6
call fcn.140057ac0
mov rcx, qword [rbp + 0x98]
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
jmp 0x1400bb0cc
lea rcx, [rbp + 0xa0]
mov qword [rbp + 0x98], rcx
mov dword [rbp + 0x90], 0x100
movsxd r8, dword [rbx + 4]
add r8, r8
mov rdx, qword [rbx + 0x10]
add rdx, rbx
call fcn.140123ea0
movsxd rcx, dword [rbx + 4]
mov rax, qword [rbp + 0x98]
mov word [rax + rcx*2], di
xor edx, edx
mov rcx, qword [rbp + 0x98]
call sub.VERSION.dll_GetFileVersionInfoSizeW
movsxd r14, eax
mov edi, 0xffffffff
test eax, eax
je 0x1400bb394
mov dword [rbp - 0x7c], r14d
cmp r14d, 0x100
jle 0x1400bb13e
mov rcx, r14
call fcn.14012ab94
mov r9, rax
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x1400bb136
call fcn.140057ac0
mov r9, qword [rbp - 0x78]
mov eax, dword [rbp - 0x7c]
mov dword [rbp - 0x80], eax
jmp 0x1400bb14d
lea r9, [rbp - 0x70]
mov qword [rbp - 0x78], r9
mov dword [rbp - 0x80], 0x100
mov r8d, r14d
xor edx, edx
mov rcx, qword [rbp + 0x98]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400bb381
lea r9, [rbp + 0x2e8]
lea r8, [rsp + 0x68]
lea rdx, [0x140200780]
mov rcx, qword [rbp - 0x78]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400bb381
cmp dword [rbp + 0x2e8], 0
je 0x1400bb381
mov rbx, qword [rsp + 0x68]
mov byte [rbp + 0x2e0], 0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x2e0]
call fcn.1400baed0
nop
mov r14d, 0x20
movzx r8d, word [rbx + 0x12]
mov word [rsp + 0x28], r14w
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14003e300
mov dword [rsp + 0x30], 3
movzx r8d, word [rbx + 0x10]
mov word [rsp + 0x28], r14w
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.14003e300
mov dword [rsp + 0x30], 7
movzx r8d, word [rbx + 0x16]
mov word [rsp + 0x28], r14w
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.14003e300
mov dword [rsp + 0x30], 0xf
movzx r8d, word [rbx + 0x14]
mov word [rsp + 0x28], r14w
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x40]
call fcn.14003e300
mov rcx, qword [rsi]
mov qword [rbp + 0x2d8], rcx
mov rax, qword [rsp + 0x58]
mov qword [rsi], rax
mov qword [rsp + 0x58], rcx
mov eax, dword [rcx]
test eax, eax
je 0x1400bb299
cmp eax, 0xffffffff
je 0x1400bb2ad
mov ecx, edi
mov rax, qword [rbp + 0x2d8]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400bb2ad
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x58]
call fcn.140049bf0
nop
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400bb2cd
cmp ecx, 0xffffffff
je 0x1400bb2e1
mov ecx, edi
mov rax, qword [rsp + 0x40]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400bb2e1
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x40]
call fcn.140049bf0
nop
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400bb301
cmp ecx, 0xffffffff
je 0x1400bb315
mov ecx, edi
mov rax, qword [rsp + 0x48]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400bb315
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x48]
call fcn.140049bf0
nop
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400bb335
cmp ecx, 0xffffffff
je 0x1400bb349
mov ecx, edi
mov rax, qword [rsp + 0x50]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400bb349
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x50]
call fcn.140049bf0
nop
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400bb369
cmp ecx, 0xffffffff
je 0x1400bb37c
mov ecx, edi
mov rax, qword [rsp + 0x60]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400bb37c
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x60]
call fcn.140049bf0
mov rbx, qword [rsp + 0x38]
lea rax, [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
cmp rcx, rax
je 0x1400bb394
call fcn.1401297e8
nop
lea rax, [rbp + 0xa0]
mov rcx, qword [rbp + 0x98]
cmp rcx, rax
je 0x1400bb3ad
call fcn.1401297e8
nop
mov eax, dword [rbx]
test eax, eax
je 0x1400bb3c6
cmp eax, 0xffffffff
je 0x1400bb3d9
mov rax, qword [rsp + 0x38]
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1400bb3d9
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x38]
call fcn.140049bf0
mov rax, rsi
add rsp, 0x3a0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret