Function at 0x1400d0cc0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10000]
mov eax, 0x10100
call fcn.1400e0110
sub rsp, rax
mov rdi, rdx
mov r15, rcx
xor r13d, r13d
mov dword [rbp + 0x10058], r13d
lea rcx, [rbp - 0x30]
call fcn.1400080e0
nop
lea rax, vtable.JRPropertyMap.0
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], r13
mov byte [rbp - 0x18], 1
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.140045f20
nop
mov r8b, 1
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.140048730
nop
mov rbx, qword [rax]
lea rsi, [0x140151248]
cmp rbx, rsi
jne 0x1400d0d43
mov eax, r13d
jmp 0x1400d0d56
call fcn.140008400
mov rcx, rax
mov r8, rsi
mov rdx, rbx
call fcn.140008570
neg eax
sbb r12d, r12d
add r12d, 0xe
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
mov r14, 0xffffffffffffffff
cmp eax, 0x7ffffc17
je 0x1400d0d97
mov eax, dword [rdx + 0x10]
cmp eax, r14d
je 0x1400d0d8d
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d0d97
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, r14d
mov r8d, r14d
lea rdx, [0x140129d58]
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp - 0x70], rax
lea rsi, vtable.JRPropertyMap.0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], r13
mov byte [rbp - 0x58], 1
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.140045f20
nop
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.140045dc0
nop
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 0x80]
movzx eax, byte [rbp - 0x58]
mov byte [rsp + 0x68], al
mov qword [rsp + 0x70], 3
mov qword [rsp + 0x78], 3
mov byte [rbp - 0x80], 0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x68], rsi
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1400d0e51
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp - 0x60], r13
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400d0e82
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400d0e78
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d0e82
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x30]
call fcn.140046c90
nop
mov rax, qword [rsp + 0x48]
cmp dword [rax - 0x10], 0
jne 0x1400d0f3c
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400d0ecd
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400d0ec3
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d0ecd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov bl, 1
test byte [rbp + 0x10058], 1
je 0x1400d0f24
mov qword [rbp - 0x48], rsi
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400d0ef3
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp - 0x40], r13
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400d0f24
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400d0f1a
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d0f24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test bl, bl
je 0x1400d103a
xor bl, bl
mov rcx, qword [rbp - 0x78]
movzx eax, byte [rsp + 0x7f]
jmp 0x1400d122f
xor ecx, ecx
call fcn.140045820
test rax, rax
je 0x1400d0f70
mov r8, qword [rax]
mov dl, 1
mov rcx, rax
call qword [r8 + 0x90]
test rax, rax
je 0x1400d0f70
mov r9, qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call qword [r9 + 0x10]
jmp 0x1400d0f7a
mov rcx, qword [rsp + 0x48]
call fcn.140042a10
movzx ebx, al
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400d0faf
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400d0fa5
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d0faf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test bl, bl
je 0x1400d0ecd
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400080e0
nop
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], r13
mov byte [rbp - 0x38], 1
xor edx, edx
lea rcx, [rbp - 0x50]
call fcn.140045f20
nop
mov dword [rbp + 0x10058], 1
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 0x80]
movzx eax, byte [rbp - 0x38]
mov byte [rsp + 0x68], al
mov qword [rsp + 0x70], 3
mov dword [rsp + 0x78], 3
lea rcx, [rsp + 0x50]
call fcn.14004fe20
test al, al
je 0x1400d0ecd
xor bl, bl
jmp 0x1400d0ecf
cmp byte [rsp + 0x7f], 0
jne 0x1400d1052
mov dl, 1
lea rcx, [rsp + 0x50]
call fcn.140048a50
mov rsi, rax
jmp 0x1400d1073
mov dword [rsp + 0x40], r13d
lea rdx, [rsp + 0x40]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, dword [rsp + 0x40]
shl rsi, 0x20
mov eax, eax
add rsi, rax
mov edx, r13d
mov rbx, r13
mov ecx, r13d
mov r9d, dword [r15 + 0x30]
lea rdi, [r15 + 0x28]
test r9d, r9d
je 0x1400d10c3
mov r10, qword [rdi + 0x18]
nop dword [rax]
movsxd rax, ecx
mov r8, qword [r10 + rax*8]
cmp dword [r8 + 0xc], 0x64617461
jne 0x1400d10ae
test rbx, rbx
jne 0x1400d10ac
test edx, edx
cmove rbx, r8
dec edx
inc ecx
cmp ecx, r9d
jb 0x1400d1090
test rbx, rbx
je 0x1400d10c3
mov dword [rbx + 0x2c], r12d
jmp 0x1400d1165
mov ecx, 0x40
call fcn.1400df728
mov rbx, rax
mov qword [rbp - 8], rax
mov byte [rax + 8], 0
mov dword [rax + 0xc], 0x64617461
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 8
mov qword [rax + 0x20], r15
mov byte [rax + 8], 0
lea rax, vtable.CTagDataAtom.0
mov qword [rbx], rax
mov qword [rbx + 0x30], r13
mov qword [rbx + 0x38], r13
mov byte [rbx + 0x28], 0
mov dword [rbx + 0x2c], r12d
mov rdx, rbx
mov rcx, rdi
call fcn.140007a80
mov rax, qword [rbx + 0x18]
add qword [r15 + 0x18], rax
mov edx, r13d
mov rbx, r13
mov ecx, r13d
mov r10d, dword [r15 + 0x30]
test r10d, r10d
je 0x1400d1165
mov r9, qword [rdi + 0x18]
nop word [rax + rax]
movsxd rax, ecx
mov r8, qword [r9 + rax*8]
cmp dword [r8 + 0xc], 0x64617461
jne 0x1400d115e
test rbx, rbx
jne 0x1400d115c
test edx, edx
cmove rbx, r8
dec edx
inc ecx
cmp ecx, r10d
jb 0x1400d1140
test rbx, rbx
je 0x1400d1202
mov edx, esi
mov rcx, rbx
call fcn.1400ce700
xor edx, edx
mov r8d, 0x10000
lea rcx, [rbp]
call fcn.1400e24f0
mov edi, r13d
test rsi, rsi
jle 0x1400d1202
mov r8d, 0x10000
cmp rsi, r8
cmovb r8, rsi
mov dword [rbp + 0x10050], r13d
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x10050]
lea rdx, [rbp]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400d11fc
mov ecx, dword [rbp + 0x10050]
test ecx, ecx
je 0x1400d1202
mov edx, dword [rbx + 0x34]
cmp edi, edx
jae 0x1400d11f3
lea eax, [rcx + rdi]
cmp eax, edx
ja 0x1400d11f3
mov r8d, ecx
mov ecx, edi
add rcx, qword [rbx + 0x38]
lea rdx, [rbp]
call fcn.1400e1d70
mov ecx, dword [rbp + 0x10050]
mov eax, ecx
sub rsi, rax
add edi, ecx
jmp 0x1400d118c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp - 0x78]
cmp byte [rsp + 0x7f], 0
je 0x1400d1220
cmp rcx, 0xffffffffffffffff
je 0x1400d1220
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
mov qword [rbp - 0x78], rcx
xor al, al
mov byte [rsp + 0x7f], al
mov bl, 1
lea rsi, vtable.JRPropertyMap.0
test al, al
je 0x1400d1243
cmp rcx, 0xffffffffffffffff
je 0x1400d1243
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x78], r14
mov byte [rsp + 0x7f], 0
lea rcx, [rsp + 0x50]
call fcn.140045eb0
nop
mov qword [rbp - 0x28], rsi
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400d126e
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp - 0x20], r13
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400d129e
mov ecx, dword [rdx + 0x10]
cmp ecx, 0xffffffff
je 0x1400d1294
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x1400d129e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
movzx eax, bl
mov rbx, qword [rsp + 0x10140]
add rsp, 0x10100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret