Function at 0x18006f050
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13d, edx
mov r15, r9
add edx, 0xa
mov rbp, rcx
mov dword [rsp + 0x78], edx
mov ebx, dword [rsp + 0x78]
cmp r13d, edx
jae case.0x18006f0b9.5
mov r14, qword [rsp + 0x90]
lea r12d, [r13 - 0x82]
mov rsi, qword [rsp + 0x98]
lea r9, [0x180000000]
cmp r12d, 0xd
ja case.0x18006f0b9.6
mov ecx, dword [r9 + r12*4 + 0x6f3fc]
add rcx, r9
jmp rcx
cmp dword [rbp], 0xffffffff
je 0x18006f0ff
cmp byte [rsi], 0
je case.0x18006f0b9.6
nop word [rax + rax]
mov ecx, dword [rbp]
lea eax, [rcx - 1]
mov dword [rbp], eax
test ecx, ecx
je 0x18006f3b9
movzx edx, byte [rsi]
mov rcx, r14
inc rsi
call qword [r14 + 0x28]
test eax, eax
jne 0x18006f3e0
cmp byte [rsi], al
jne 0x18006f0d0
jmp 0x18006f3b9
movzx eax, byte [rsi]
test al, al
je case.0x18006f0b9.6
nop word [rax + rax]
movzx edx, al
mov rcx, r14
inc rsi
call qword [r14 + 0x28]
test eax, eax
jne 0x18006f3e0
movzx eax, byte [rsi]
test al, al
jne 0x18006f110
jmp 0x18006f3b9
mov eax, dword [r15 + 0x20]
xor r8d, r8d
imul eax, dword [r15 + 0x1c]
mov rcx, qword [r14]
imul eax, dword [rsi]
lea eax, [rax + rax*2]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
je 0x18006f3b9
mov eax, 0x11f
cmp eax, 0x11f
je 0x18006f185
cmp eax, 0x2cd8
jne 0x18006f18a
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, 0xffffffff
add eax, 0x2bb9
cmp eax, 0x5772
jbe 0x18006f160
jmp 0x18006f3b9
mov eax, dword [rbp]
cmp eax, 0xffffffff
jne 0x18006f1b9
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rsi + rax], 0
jne 0x18006f1b0
sub dword [r15], eax
test byte [r8], 1
mov eax, dword [r15]
jne case.0x18006f0b9.6
test eax, eax
jle 0x18006f207
nop dword [rax]
dec eax
mov dl, 0x20
mov rcx, r14
mov dword [r15], eax
call qword [r14 + 0x28]
test eax, eax
je 0x18006f1fc
mov ecx, 7
mov eax, ecx
sub eax, 6
je case.0x18006f0b9.5
cmp eax, 1
jne 0x18006f1f5
mov ebx, eax
dec ecx
cmp ecx, 5
ja 0x18006f1e7
mov eax, dword [r15]
test eax, eax
jg 0x18006f1d0
mov edx, dword [rsp + 0x78]
dec eax
mov dword [r15], eax
jmp case.0x18006f0b9.6
cmp qword [r15], 0
jne case.0x18006f0b9.6
mov qword [rsp + 0x28], r15
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
xor edx, edx
mov ecx, 0xea
call fcn.18002b200
jmp 0x18006f3b9
test byte [r8], 1
je 0x18006f295
mov eax, dword [r15]
test eax, eax
jle 0x18006f290
nop dword [rax]
dec eax
mov dl, 0x20
mov rcx, r14
mov dword [r15], eax
call qword [r14 + 0x28]
test eax, eax
je 0x18006f285
mov ecx, 0x27
mov eax, ecx
sub eax, 0x27
je 0x18006f279
cmp eax, 1
je case.0x18006f0b9.5
jmp 0x18006f27e
mov ebx, 1
inc ecx
cmp ecx, 0x29
jb 0x18006f267
mov eax, dword [r15]
test eax, eax
jg 0x18006f250
mov edx, dword [rsp + 0x78]
dec eax
mov dword [r15], eax
xor ebx, ebx
jmp case.0x18006f0b9.6
mov eax, dword [r15 + 0x1c]
mov edx, 1
imul eax, dword [r15 + 0x20]
mov edi, dword [r15 + 0x1c]
mov r9, qword [r14]
mov rcx, qword [r15]
imul edi, dword [r15 + 0x20]
movsxd r8, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rax
movsxd rax, edi
cmp rcx, rax
jne 0x18006f3f0
mov r9, qword [r14]
mov eax, edi
mov rcx, qword [r15 + 8]
cdq
and edx, 3
add eax, edx
mov edx, 1
sar eax, 2
movsxd r8, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r8, rax
mov eax, dword [r15 + 0x1c]
imul eax, dword [r15 + 0x20]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
cmp r8, rcx
je 0x18006f3b9
mov eax, 0xa5
cmp eax, 0xa5
je 0x18006f32b
cmp eax, 0x5091
je case.0x18006f0b9.5
jmp 0x18006f330
mov ebx, 0xffffffff
add eax, 0x4fec
cmp eax, 0x9fd8
jbe 0x18006f317
jmp 0x18006f3b9
cmp qword [r14], 0
je 0x18006f34e
test r15, r15
je 0x18006f34e
cmp dword [rsi], 0
jge case.0x18006f0b9.6
mov ecx, 0x3b
mov eax, ecx
sub eax, 0x3b
je 0x18006f365
cmp eax, 1
je case.0x18006f0b9.5
jmp 0x18006f36a
mov ebx, 0xffffffff
inc ecx
cmp ecx, 0x3d
jb 0x18006f353
jmp case.0x18006f0b9.6
mov eax, dword [r15 + 0x1c]
imul eax, dword [r15 + 0x20]
mov r9, qword [r14]
mov rcx, qword [r15 + 0x10]
cdq
and edx, 3
add eax, edx
mov edx, 1
sar eax, 2
movsxd r8, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r8, rax
mov eax, dword [r15 + 0x1c]
imul eax, dword [r15 + 0x20]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
cmp r8, rcx
jne 0x18006f3f0
xor ebx, ebx
mov edx, dword [rsp + 0x78]
inc r13d
inc r12d
cmp r13d, edx
jae case.0x18006f0b9.5
mov r8, qword [rsp + 0x80]
jmp 0x18006f09d
mov eax, 1
jmp 0x18006f170
mov eax, 0xffffffff
jmp 0x18006f170