Function at 0x18009f240
Capabilities:
Read file on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov eax, dword [rsp + 0xc8]
mov rsi, r9
mov r10, qword [r11 + 0x38]
mov r15d, eax
mov ebp, dword [rsp + 0xc8]
mov r13, r8
mov r12, qword [rsp + 0x58]
mov rdi, rdx
mov r14, qword [rsp + 0x58]
mov ebx, dword [rsp + 0xc8]
imul eax, eax, 0x69f
cmp r15d, eax
ja 0x18009f3eb
cmp r15d, 0x5d84
ja 0x18009f46f
je 0x18009f6e1
cmp r15d, 0x12b
ja 0x18009f3cc
je 0x18009f3a2
mov eax, r15d
sub eax, 5
je 0x18009f38b
sub eax, 0xae
je 0x18009f355
cmp eax, 0x1f
jne 0x18009f5e5
cmp qword [rcx], 0
mov qword [rsp + 0x58], rdi
jl 0x18009f6f6
mov rax, qword [r13]
mov r8, qword [rax + 0x20]
mov eax, dword [r8 + 0x14]
cmp dword [r10], eax
jb 0x18009f6f6
mov edx, 0x95
xor ecx, ecx
call fcn.180050d70
mov rcx, qword [rsp + 0xd0]
mov edx, dword [rcx]
cmp rdx, rax
jae 0x18009f6f6
mov rax, qword [rdi]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x48], edx
lea rcx, [rsp + 0x48]
mov edx, 0x19
mov qword [rsp + 0x50], rax
call fcn.1800684a0
mov r10, qword [rsp + 0xd0]
mov dword [rdi + 8], eax
jmp 0x18009f5e5
mov rax, qword [r13 + 0x40]
mov rdx, rcx
mov r8d, dword [rsi]
mov rcx, r10
mov qword [rsp + 0x28], rax
mov eax, dword [rdi]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc0]
mov r9d, dword [rax]
call qword [r13 + 0x38]
mov r10, qword [rsp + 0xd0]
mov ebx, eax
jmp 0x18009f5e5
cmp qword [r13 + 8], r10
jne 0x18009f5e5
mov qword [r13 + 8], 0
jmp 0x18009f5e5
mov edx, dword [rsi]
xor ebp, ebp
mov r12, qword [rsp + 0xc0]
test edx, edx
jns 0x18009f3bc
neg edx
movsxd r14, edx
jmp 0x18009f5e5
mov rax, qword [r13]
imul edx, dword [rax + 0x18]
movsxd r14, edx
jmp 0x18009f5e5
cmp r15d, 0x23a
je 0x18009f44a
cmp r15d, 0x46f
je 0x18009f405
cmp r15d, 0x4fb6
jne 0x18009f5e5
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0xd0]
mov dword [rsp + 0x30], 0xc7
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 0
call fcn.180059440
mov r10, qword [rsp + 0xd0]
jmp 0x18009f5e5
cmp qword [r13 + 0x10], r10
jne 0x18009f458
mov qword [r13 + 0x10], 0
cmp qword [r13 + 0x18], r10
jne 0x18009f5e5
mov qword [r13 + 0x18], 0
jmp 0x18009f5e5
cmp r15d, 0x21117
ja 0x18009f65b
je 0x18009f3eb
cmp r15d, 0x8526
je 0x18009f64a
cmp r15d, 0x10921
je 0x18009f53f
cmp r15d, 0x18d1c
jne 0x18009f5e5
test r14, r14
je 0x18009f538
mov esi, 0x3d
cmp esi, 0x3d
je 0x18009f4e1
cmp esi, 0x1fb1
jne 0x18009f51d
mov rdx, qword [r10 + 0xd8]
mov rcx, r12
movsxd rdi, ebp
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
sub r14, rdi
add r12, rdi
jmp 0x18009f515
mov rax, qword [r13]
mov rdx, qword [r10 + 0xd8]
mov ecx, dword [r10 + 4]
mov r8d, dword [rax + 0x18]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov ebp, eax
mov rax, qword [r13]
movsxd rcx, dword [rax + 0x18]
cmp ebp, ecx
jne 0x18009f61c
cmp r14, rcx
mov ebp, r14d
cmova ebp, ecx
mov r10, qword [rsp + 0xd0]
add esi, 0x1f74
cmp esi, 0x3ee8
jbe 0x18009f4b7
test r14, r14
jne 0x18009f4b2
mov rsi, qword [rsp + 0xb8]
xor ebx, ebx
jmp 0x18009f5e5
mov rax, qword [r13]
mov eax, dword [rax + 0x80]
test eax, eax
je 0x18009f55d
mov ecx, r14d
or ecx, r12d
dec eax
test eax, ecx
jne 0x18009f5e5
mov edi, 0xc5
mov dword [rsp + 0x44], edi
cmp edi, 0x1db
jae 0x18009f5dd
cmp edi, 0xc5
je 0x18009f58a
cmp edi, 0x150
je 0x18009f3eb
add edi, 0x8b
jmp 0x18009f562
mov ecx, dword [r10 + 4]
mov r8d, r14d
mov rdx, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
movsxd rbp, eax
cmp rbp, r14
je 0x18009f635
mov eax, 0xe7
cmp eax, 0x288
jae 0x18009f631
cmp eax, 0xe7
je 0x18009f61c
cmp eax, 0x172
je 0x18009f60c
cmp eax, 0x1fd
jne 0x18009f627
mov dword [rsp + 0x40], 0x7f2bb724
mov r10, qword [rsp + 0xd0]
mov r15d, 0x21117
mov rsi, qword [rsp + 0xb8]
imul eax, dword [rsp + 0xc8], 0x71
mov rdi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
add r15d, eax
mov eax, dword [rsp + 0xc8]
jmp 0x18009f291
xor ecx, ecx
test ebp, ebp
cmovns ecx, ebp
add eax, 0x8b
mov ebp, ecx
jmp 0x18009f5ab
mov eax, 0xe7
mov r15d, 0x10921
add eax, 0x8b
jmp 0x18009f5ab
mov edi, dword [rsp + 0x44]
mov r10, qword [rsp + 0xd0]
xor ebx, ebx
add edi, 0x8b
jmp 0x18009f562
add qword [r10 + 0xe8], r14
mov r10, qword [rsp + 0xd0]
jmp 0x18009f5e5
cmp r15d, 0x29512
je 0x18009f688
cmp r15d, 0x3190d
je 0x18009f67f
cmp r15d, 0x39d08
je 0x18009f3eb
jmp 0x18009f5e5
mov ebx, dword [rsp + 0x40]
jmp 0x18009f5e5
movsxd rax, ebp
mov r8, r14
sub r8, rax
xor edx, edx
lea rcx, [rax + r12]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [r13]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18009f43d
mov edx, dword [rsp + 0x40]
mov r9, r12
mov r8d, dword [rsi]
mov dword [rsp + 0x30], edx
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r14
mov edx, dword [rdx]
call rax
mov r10, qword [rsp + 0xd0]
mov dword [rsp + 0x40], eax
jmp 0x18009f5e5
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0
je 0x18009f6f6
mov eax, 2
jmp 0x18009f3ed
xor eax, eax
jmp 0x18009f3ed