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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
sub rsp, 0x60
cmp byte [0x1000aacb8], 0
mov rbp, rcx
lea rax, [0x10001b028]
mov rsi, rdx
lea rcx, [0x10001b000]
mov dl, 1
cmove rcx, rax
and dword [rsp + 0x20], 0
xor r9d, r9d
lea r8d, [r9 + 0x1c]
call fcn.100048738
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x100047f5d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov edi, eax
call fcn.10008f138
and dword [rsp + 0x90], 0
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x90]
mov rdx, rax
mov r8d, edi
mov rcx, r12
mov r13, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100047f4d
cmp dword [rsp + 0x90], edi
jne 0x100047f4d
mov ecx, 0x98
call fcn.10008f098
test rax, rax
je 0x100047d78
mov rcx, rax
call fcn.10005e1d4
mov rbx, rax
jmp 0x100047d7a
xor ebx, ebx
mov r8d, edi
mov rdx, r13
mov rcx, rbx
call fcn.10005e5dc
cmp al, 1
jne 0x100047f30
lea rdx, [0x10001b3c0]
or r8d, 0xffffffff
mov rcx, rbx
call fcn.10005f6a0
lea rdx, [0x10001b3d8]
or r8d, 0xffffffff
mov rcx, rbx
mov dword [0x1000aace4], eax
call fcn.10005f6a0
lea rdx, [0x10001b3f0]
xor r8d, r8d
mov rcx, rbx
mov dword [0x1000aacf0], eax
call fcn.10005f6a0
lea rdx, [0x10001b400]
xor r8d, r8d
mov rcx, rbx
mov dword [0x1000aacf4], eax
call fcn.10005f6a0
or edi, 0xffffffff
lea rdx, [0x10001b410]
mov r8d, edi
mov rcx, rbx
mov dword [0x1000aacf8], eax
call fcn.10005f708
lea rdx, [0x10001b430]
mov r8d, edi
mov rcx, rbx
mov dword [0x1000a6ca4], eax
call fcn.10005f708
cmp byte [0x1000aacb8], 0
mov dword [0x1000a6ca8], eax
jne 0x100047e49
lea rdx, [0x10001b450]
xor r8d, r8d
mov rcx, rbx
call fcn.10005f708
test eax, eax
setne byte [0x1000aace2]
lea rdx, [0x10001b468]
mov r8b, 1
mov rcx, rbx
call fcn.10005f8f8
mov rcx, qword [0x1000aac18]
test rcx, rcx
je 0x100047e6d
mov byte [rcx + 0x12c], al
mov byte [0x1000a0563], al
cmp dword [0x1000a6ca4], edi
je 0x100047e83
cmp dword [0x1000a6ca8], edi
jne 0x100047e9b
mov eax, dword [0x1000a53e4]
mov dword [0x1000a6ca4], eax
mov eax, dword [0x1000a5634]
mov dword [0x1000a6ca8], eax
cmp byte [0x1000aacb8], 0
je 0x100047f0f
lea rcx, [0x10001ad88]
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rdi, rax
test rax, rax
je 0x100047efe
xor edx, edx
lea rcx, [rsp + 0x34]
lea r8d, [rdx + 0x24]
call sub.msvcrt.dll_memset
mov edx, 2
mov rcx, rdi
mov dword [rsp + 0x30], 0x28
call qword [sym.imp.USER32.dll_MonitorFromWindow]
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
mov r11d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov dword [rbp], r11d
jmp 0x100047f27
mov eax, dword [0x1000aacf4]
mov dword [rbp], eax
mov eax, dword [0x1000aacf8]
jmp 0x100047f27
cmp byte [0x1000aace2], 0
jne 0x100047efe
mov eax, dword [0x1000aace4]
mov dword [rbp], eax
mov eax, dword [0x1000aacf0]
mov dword [rsi], eax
mov byte [0x10009fcb3], 0
mov rcx, r13
call sub.msvcrt.dll_free
test rbx, rbx
je 0x100047f4d
mov rcx, rbx
call fcn.10005e260
mov rcx, rbx
call sub.msvcrt.dll_free
mov r8b, 1
mov edx, 0x1c
mov rcx, r12
call fcn.100048424
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret