Function at 0x1800bdc70
Capabilities:
Get file version info

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xfc0]
mov eax, 0x10c0
call fcn.1802b8650
sub rsp, rax
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x1100], rbx
mov rax, qword [0x1803fc9f0]
xor rax, rsp
mov qword [rbp + 0xfb8], rax
mov rdi, rdx
mov rsi, rcx
lea rcx, [rbp + 0xf78]
call fcn.1800ac4e0
nop
lea r14, [rbp + 0xf78]
cmp qword [rbp + 0xf90], 8
cmovae r14, qword [rbp + 0xf78]
xor edx, edx
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov r15d, eax
test eax, eax
jne 0x1800bdd36
mov rdx, rdi
lea rcx, [rbp + 0xf98]
call fcn.1800ac490
mov rbx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bdd07
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8, rbx
lea rdx, [0x180093130]
lea rcx, [rsp + 0x50]
call fcn.1800b0450
lea rdx, [0x1803f5e58]
lea rcx, [rsp + 0x50]
call fcn.1802c76f0
nop
xor eax, eax
mov qword [rbp + 0xf98], rax
mov qword [rbp + 0xfa0], rax
mov qword [rbp + 0xfa8], rax
mov rdx, r15
lea rcx, [rbp + 0xf98]
call fcn.1800bc860
nop
mov rbx, qword [rbp + 0xf98]
mov r9, rbx
mov r8d, r15d
xor edx, edx
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x1800bddc2
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1800ac490
mov rbx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bdd93
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8, rbx
lea rdx, [0x180093168]
lea rcx, [rsp + 0x50]
call fcn.1800b0450
lea rdx, [0x1803f5e58]
lea rcx, [rsp + 0x50]
call fcn.1802c76f0
nop
xor r14d, r14d
mov qword [rbp + 0xf70], r14
xor r9d, r9d
lea r8, [rbp + 0xf70]
lea rdx, [0x180093198]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
jne 0x1800bde28
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1800ac490
nop
cmp qword [rax + 0x18], 0x10
jb 0x1800bde02
mov rax, qword [rax]
mov r8, rax
lea rdx, [0x1800931a0]
lea rcx, [rsp + 0x50]
call fcn.1800b0450
lea rdx, [0x1803f5e58]
lea rcx, [rsp + 0x50]
call fcn.1802c76f0
nop
mov rcx, qword [rbp + 0xf70]
cmp dword [rcx], 0xfeef04bd
je 0x1800bde75
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.1800ac490
nop
cmp qword [rax + 0x18], 0x10
jb 0x1800bde4f
mov rax, qword [rax]
mov r8, rax
lea rdx, [0x1800931e0]
lea rcx, [rsp + 0x50]
call fcn.1800b0450
lea rdx, [0x1803f5e58]
lea rcx, [rsp + 0x50]
call fcn.1802c76f0
nop
movzx eax, word [rcx + 0xa]
mov dword [rsi + 4], eax
movzx eax, word [rcx + 8]
mov dword [rsi + 8], eax
movzx eax, word [rcx + 0xe]
mov dword [rsi], eax
movzx eax, word [rcx + 0xc]
mov dword [rsi + 0xc], eax
test rbx, rbx
je 0x1800bdef9
mov rax, qword [rbp + 0xfa8]
sub rax, rbx
cmp rax, 0x1000
jb 0x1800bdedf
test bl, 0x1f
je 0x1800bdeb2
call fcn.1802d51b4
int3
mov rax, qword [rbx - 8]
cmp rax, rbx
jb 0x1800bdec1
call fcn.1802d51b4
int3
sub rbx, rax
cmp rbx, 8
jae 0x1800bded0
call fcn.1802d51b4
int3
cmp rbx, 0x27
jbe 0x1800bdedc
call fcn.1802d51b4
int3
mov rbx, rax
mov rcx, rbx
call fcn.18011da90
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf98], xmm0
mov qword [rbp + 0xfa8], r14
mov r8, qword [rbp + 0xf90]
cmp r8, 8
jb 0x1800bdf1c
inc r8
mov rdx, qword [rbp + 0xf78]
lea rcx, [rbp + 0xf78]
call fcn.1800ae240
mov qword [rbp + 0xf90], 7
mov qword [rbp + 0xf88], r14
mov word [rbp + 0xf78], r14w
mov rcx, qword [rbp + 0xfb8]
xor rcx, rsp
call fcn.1802b85a0
mov rbx, qword [rsp + 0x1100]
add rsp, 0x10c0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret