Function at 0x14004bf80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x450
mov r15, r8
mov r12, rdx
mov r13, rcx
xor ebp, ebp
mov ecx, 0xe8
call fcn.14004d53c
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14004c0ab
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x14004c4a8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x14004c4a8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi + 8], rax
mov qword [rsi + 0xd0], rbp
mov qword [rsi + 0xd8], rbp
mov qword [rsi + 0xe0], rbp
mov qword [rsi + 0xc8], rbp
mov rbx, qword [rsi + 0xd0]
mov qword [rsi + 0xd0], rbp
test rbx, rbx
je 0x14004c060
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004c060
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c060
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsi + 0xd8], rbp
mov rbx, qword [rsi + 0xe0]
mov qword [rsi + 0xe0], rbp
test rbx, rbx
je 0x14004c0ae
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004c0ae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c0ae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004c0ae
mov rsi, rbp
mov qword [rsp + 0x28], rsi
mov ecx, 0x18
call fcn.14004d53c
mov r14, rax
mov qword [rsp + 0x498], rax
test rax, rax
je 0x14004c0f1
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_struct_tagFRAMEDESC_.0
mov qword [r14], rax
mov qword [r14 + 0x10], rsi
jmp 0x14004c0f4
mov r14, rbp
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r14
mov byte [rsp + 0x50], 0
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rsp + 0x51]
call fcn.14020de70
mov dword [rsp + 0x498], ebp
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsi + 0x10]
call fcn.1401ea544
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsi + 0x14]
call fcn.1401ea544
lea rcx, [rsi + 0x5c]
mov r9, r15
mov edx, 4
lea r8d, [rdx + 8]
call fcn.1401ea544
lea rcx, [rsi + 0x8c]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 2]
call fcn.1401ea544
lea rcx, [rsi + 0x94]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0x98]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0x9c]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xa0]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xa4]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xa8]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xac]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xb0]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xb4]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xb8]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xbc]
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
call fcn.1401ea544
lea rcx, [rsi + 0xc0]
mov r9, r15
mov edx, 1
mov r8d, edx
call fcn.1401ea544
lea rcx, [rsi + 0xc1]
mov r9, r15
mov edx, 1
mov r8d, edx
call fcn.1401ea544
lea rcx, [rsi + 0x18]
mov r9, r15
mov edx, 0x44
lea r8d, [rdx - 0x43]
call fcn.1401ea544
cmp byte [rsi + 0x14], 9
jne 0x14004c2cc
mov eax, dword [rsi + 0x10]
mov dword [0x1402df064], eax
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x498]
call fcn.1401ea544
movsxd rax, dword [rsp + 0x498]
test eax, eax
jle 0x14004c327
mov r8, rax
mov r9, r15
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.1401ea544
movsxd rax, dword [rsp + 0x498]
mov byte [rsp + rax + 0x50], 0
lea r8, [rsp + 0x50]
lea rdx, [0x14022226c]
mov rcx, rsi
call fcn.1400114f0
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x498]
call fcn.1401ea544
movsxd rax, dword [rsp + 0x498]
test eax, eax
jle 0x14004c383
mov r8, rax
mov r9, r15
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.1401ea544
movsxd rax, dword [rsp + 0x498]
mov byte [rsp + rax + 0x50], 0
lea rcx, [rsi + 8]
lea r8, [rsp + 0x50]
lea rdx, [0x14022226c]
call fcn.1400114f0
mov r9, r15
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x498]
call fcn.1401ea544
lea rdi, [rsi + 0xc8]
cmp dword [rsp + 0x498], 0
jle 0x14004c472
nop dword [rax]
nop word [rax + rax]
mov r8, r15
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14004bf80
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
mov qword [rax], r8
mov qword [rax + 8], r8
mov qword [rdi], rcx
mov rbx, qword [rdi + 8]
mov qword [rdi + 8], rdx
test rbx, rbx
je 0x14004c420
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004c420
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c420
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14004c459
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004c459
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c459
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rdi]
add rdi, 0xd8
inc ebp
cmp ebp, dword [rsp + 0x498]
jl 0x14004c3c0
mov qword [r12 + 8], 0
mov qword [r12], rsi
mov qword [r12 + 8], r14
mov rax, r12
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140011290
int3