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

Disassembly:
push rbx
push rsi
push r15
sub rsp, 0x60
mov rax, qword [0x180208090]
xor rax, rsp
mov qword [rsp + 0x48], rax
lea rsi, [rcx + 0x10]
xor eax, eax
mov qword [rsi], rax
lea r15, [rcx + 0x40]
mov qword [rsi + 8], rax
mov rbx, rcx
mov qword [rsi + 0x10], rax
mov rcx, r15
mov qword [rsi + 0x18], rax
mov dword [rsi], 0x20
call fcn.180003800
mov rdx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180024e30
mov rax, qword [r15]
mov qword [r15 + 8], rax
mov rax, qword [rbx + 8]
test rax, rax
je 0x180023653
mov rax, qword [rax]
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rdi
xor edi, edi
mov qword [rsp + 0x50], r14
test rax, rax
je 0x180023481
mov rcx, qword [rax]
cmp rcx, 0xffffffffffffffff
je 0x180023481
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r14d, eax
cmp eax, 0xffffffff
jne 0x180023373
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180023481
mov ebp, dword [rsp + 0x40]
shl rbp, 0x20
add rbp, r14
cmp rbp, 0x20
jb 0x180023481
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800233d2
call fcn.1800a1f20
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800233d2
test rsi, rsi
je 0x1800233d2
mov dword [rsp + 0x40], edi
mov rax, qword [rcx]
test rax, rax
je 0x1800233d2
cmp qword [rax], 0xffffffffffffffff
je 0x1800233d2
mov rcx, qword [rax]
lea r9, [rsp + 0x40]
mov r8d, 0x20
mov qword [rsp + 0x20], rdi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsi], 0x20
jne 0x180023442
cmp dword [rbx + 0x14], edi
ja 0x180023442
mov rcx, qword [rbx + 0x18]
lea rax, [rcx + 0x20]
cmp rbp, rax
jne 0x180023442
mov eax, dword [rbx + 0x20]
test rcx, rcx
jne 0x1800233fe
test eax, eax
jne 0x180023442
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x180023442
jmp 0x180023409
test eax, eax
je 0x180023442
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x180023442
cmp dword [rbx + 0x28], edi
jne 0x180023442
cmp dword [rbx + 0x2c], edi
jne 0x180023442
cmp qword [rbx + 8], rdi
je 0x180023442
test rcx, rcx
je 0x18002343e
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], edi
mov rcx, rbx
call fcn.180023750
test al, al
je 0x180023442
mov eax, dword [rbx + 0x24]
cmp dword [rsp + 0x40], eax
jne 0x180023442
jmp 0x180023489
test eax, eax
je 0x180023489
xor eax, eax
mov rcx, rbx
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rax
mov dword [rsi], 0x20
call fcn.180023670
mov rcx, r15
call fcn.180003800
mov rdx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180024e30
mov rax, qword [r15]
mov qword [r15 + 8], rax
jmp 0x18002363e
mov rcx, rbx
call fcn.180023670
mov edx, 0x20
mov rcx, rbx
call fcn.180023890
mov ebp, dword [rbx + 0x20]
mov r8, r15
mov edx, ebp
mov rcx, r15
call fcn.180024a70
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x18], rdi
test ebp, ebp
je 0x18002363e
mov rsi, rdi
nop dword [rax + rax]
mov eax, edi
mov rcx, rbx
imul rdx, rax, 0x78
add rdx, qword [r15]
call fcn.180023900
test al, al
je 0x1800234f2
inc dword [rbx + 0x20]
inc edi
mov rax, qword [rbx + 0x40]
mov ecx, dword [rax + rsi]
add rsi, 0x78
add qword [rbx + 0x18], rcx
cmp edi, ebp
jb 0x1800234c0
jmp 0x18002363e
mov rax, qword [rbx + 0x48]
lea rdx, [rbx + 0x40]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rax
call fcn.180003810
mov rax, qword [r15]
lea rcx, [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdx, r15
mov qword [rsp + 0x30], rax
call fcn.180003810
mov eax, edi
imul rdi, rax, 0x78
add rdi, qword [rsp + 0x30]
cmp rdi, rbx
je 0x18002362c
mov qword [rsp + 0x58], r12
mov rsi, rdi
mov r12, qword [r15 + 8]
cmp rbx, r12
je 0x180023618
sub rbx, rdi
nop
mov eax, dword [rbx + rsi]
lea rdx, [rsi + 0x10]
mov dword [rsi], eax
lea rcx, [rsi + 0x10]
mov eax, dword [rbx + rsi + 4]
add rdx, rbx
mov dword [rsi + 4], eax
mov rax, qword [rbx + rsi + 8]
mov qword [rsi + 8], rax
call fcn.180005c40
lea r14, [rsi + 0x30]
add r14, rbx
lea rbp, [rsi + 0x30]
cmp rbp, r14
je 0x1800235a8
mov rcx, rbp
call fcn.180005f50
mov rcx, r14
call fcn.1800038c0
mov rcx, rbp
call fcn.1800038c0
mov rdx, r14
mov rcx, rbp
call fcn.1800252f0
lea r14, [rsi + 0x48]
add r14, rbx
lea rbp, [rsi + 0x48]
cmp rbp, r14
je 0x1800235e0
mov rcx, rbp
call fcn.180005f50
mov rcx, r14
call fcn.1800038c0
mov rcx, rbp
call fcn.1800038c0
mov rdx, r14
mov rcx, rbp
call fcn.1800252f0
nop dword [rax + rax]
mov eax, dword [rbx + rsi + 0x60]
mov dword [rsi + 0x60], eax
mov eax, dword [rbx + rsi + 0x64]
mov dword [rsi + 0x64], eax
mov eax, dword [rbx + rsi + 0x68]
mov dword [rsi + 0x68], eax
mov eax, dword [rbx + rsi + 0x6c]
mov dword [rsi + 0x6c], eax
mov eax, dword [rbx + rsi + 0x70]
mov dword [rsi + 0x70], eax
add rsi, 0x78
lea rax, [rbx + rsi]
cmp rax, r12
jne 0x180023550
mov r12, qword [r15 + 8]
mov rdx, r12
mov rcx, rsi
call fcn.180024e30
mov r12, qword [rsp + 0x58]
mov qword [r15 + 8], rsi
mov rdx, r15
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x38]
call fcn.180003810
mov rdi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800d8050
add rsp, 0x60
pop r15
pop rsi
pop rbx
ret