Function at 0x1800cf7a0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov edi, dword [rsp + 0x100]
mov rbp, r9
imul eax, ecx, 0x672
mov r9, r8
mov r8, rdx
mov dword [rsp + 0x40], ecx
mov edx, ecx
mov dword [rsp + 0x68], eax
cmp ecx, eax
ja 0x1800cfe50
mov r13d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x120]
nop dword [rax + rax]
cmp ecx, 0x7f68
ja 0x1800cfe20
je 0x1800cfcb6
mov eax, ecx
sub eax, 0x57
je 0x1800cfc75
sub eax, 0x81
je 0x1800cfc0b
sub eax, 0x1f
je 0x1800cf8b6
sub eax, 0x325a
je 0x1800cf897
cmp eax, 0x32fa
jne 0x1800cfeb8
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1800cf85f
mov rax, qword [rcx + 8]
call qword [rax + 0x18]
mov dword [rsp + 0x58], eax
cmp qword [rsi + 0x18], 0
je 0x1800cf883
mov rbx, qword [rsi + 0x18]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rbx, rax
je 0x1800cf883
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rax]
add rcx, 0x70
jmp 0x1800cfe7b
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
dec dword [rax + 0x30]
cmp dword [rax + 0x30], 0
jle 0x1800cfeb8
xor eax, eax
jmp 0x1800cfe52
mov rax, qword [rsp + 0x138]
mov rsi, qword [r8]
xor r8d, r8d
mov dword [rsp + 0x44], r8d
mov r15, qword [rax]
cmp dword [r9], r8d
jbe 0x1800cfb4d
nop word [rax + rax]
mov r13d, 0xd7
nop word [rax + rax]
mov eax, r13d
sub eax, 0xd7
je 0x1800cfbfd
sub eax, 0x7a
je 0x1800cf915
cmp eax, 0x7a
jne 0x1800cfb13
add r15, 2
jmp 0x1800cfb13
movzx eax, word [r15]
mov word [rsi], ax
add rsi, 2
mov ecx, dword [r9]
test r8d, r8d
jne 0x1800cf945
xor eax, eax
cmp ecx, 1
cmovne rax, qword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x130]
jmp 0x1800cf95d
mov rdx, qword [rsp + 0x60]
lea eax, [rcx - 2]
cmp r8d, eax
mov rax, qword [rsp + 0x120]
je 0x1800cf95d
mov rax, rbp
movzx r14d, word [rax]
lea eax, [rcx - 1]
cmp r8d, eax
jb 0x1800cf972
cmp ecx, 1
jne 0x1800cfb13
test rdx, rdx
je 0x1800cfb5c
movzx edi, word [r15]
cmp di, word [rdx]
jne 0x1800cfa2d
mov r8d, 1
lea ecx, [r14 - 1]
cmp r8d, r14d
jae 0x1800cfa01
cmp ecx, 8
jb 0x1800cf9fe
movsxd rax, r14d
dec rax
lea rdx, [rsi + rax*2]
lea rax, [rsi + 2]
cmp rax, r15
ja 0x1800cf9b4
cmp rdx, r15
jae 0x1800cf9fe
and ecx, 0x80000007
jge 0x1800cf9c3
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, r14d
sub eax, ecx
nop dword [rax + rax]
add r8d, 8
cmp r8d, eax
jl 0x1800cf9d0
add eax, 6
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov rax, rdi
shl rdx, 4
mov rdi, rsi
mov rcx, rdx
shr rcx, 1
rep stosw word [rdi], ax
add rsi, rdx
cmp r8d, r14d
jge 0x1800cfbf3
nop word [rax + rax]
movzx eax, word [r15]
inc r8d
mov word [rsi], ax
add rsi, 2
cmp r8d, r14d
jl 0x1800cfa10
mov r8d, dword [rsp + 0x44]
jmp 0x1800cfb13
mov ebp, 1
cmp r14d, ebp
jbe 0x1800cfb0b
lea r12d, [r14 + r14]
nop
mov qword [rsp + 0x80], rdx
lea rcx, [rsp + 0x80]
xor edx, edx
mov r9d, 0x6a
xor r8d, r8d
call fcn.180006190
mov r9d, 0x6a
movzx ebx, ax
xor r8d, r8d
mov qword [rsp + 0x88], r15
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.180006190
mov r9d, 0x6a
movzx edi, ax
xor r8d, r8d
mov qword [rsp + 0x90], r15
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.180006190
movzx r8d, ax
mov qword [rsp + 0x98], rsi
mov ecx, ebx
mov dword [rsp + 0x20], 0x103
sub ecx, edi
lea r9, [rsp + 0x98]
imul ecx, ebp
lea eax, [r14 + rcx*2]
cdq
lea rcx, [rsp + 0x50]
idiv r12d
xor edx, edx
add r8w, ax
mov word [rsp + 0x50], r8w
xor r8d, r8d
call fcn.18006e120
mov rdx, qword [rsp + 0x60]
add rsi, 2
inc ebp
cmp ebp, r14d
jl 0x1800cfa40
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x118]
add r13d, 0x7a
cmp r13d, 0x245
jb 0x1800cf8f0
inc r8d
mov dword [rsp + 0x44], r8d
cmp r8d, dword [r9]
jb 0x1800cf8e0
mov r13d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x120]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
xor edi, edi
jmp 0x1800cfeb8
mov r8d, 1
lea ecx, [r14 - 1]
cmp r8d, r14d
jae 0x1800cfbd1
cmp ecx, 8
jb 0x1800cfbce
movzx edi, word [r15]
lea rax, [r14 - 1]
lea rdx, [rsi + rax*2]
lea rax, [rsi + 2]
cmp rax, r15
ja 0x1800cfb8a
cmp rdx, r15
jae 0x1800cfbce
and ecx, 0x80000007
jge 0x1800cfb99
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, r14d
sub eax, ecx
nop
add r8d, 8
cmp r8d, eax
jl 0x1800cfba0
add eax, 6
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov rax, rdi
shl rdx, 4
mov rdi, rsi
mov rcx, rdx
shr rcx, 1
rep stosw word [rdi], ax
add rsi, rdx
cmp r8d, r14d
jge 0x1800cfbf3
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r15]
inc r8d
mov word [rsi], ax
add rsi, 2
cmp r8d, r14d
jl 0x1800cfbe0
mov r8d, dword [rsp + 0x44]
jmp 0x1800cfb13
lea rax, [r15 + 2]
mov qword [rsp + 0x60], rax
jmp 0x1800cfb13
mov rax, qword [rsp + 0x120]
xor r13d, r13d
mov dword [rsp + 0x48], r13d
mov qword [rsp + 0x78], r9
mov edx, dword [rax]
cmp edx, 1
jne 0x1800cfc37
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
mov edx, dword [rax + 0x18]
jmp 0x1800cfc52
test edx, edx
jns 0x1800cfc3f
neg edx
jmp 0x1800cfc52
mov rax, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x40]
mov rax, qword [rax]
imul edx, dword [rax + 0x18]
mov r12, qword [rsp + 0x120]
movsxd rax, edx
add qword [rbp + 0xf0], rax
mov edx, dword [rsp + 0x100]
mov qword [rsp + 0x70], rax
jmp 0x1800cfeb8
mov rax, qword [rsp + 0x128]
mov dword [rsp + 0x58], 0
mov rax, qword [rax]
cmp dword [rax], 0x7f2bb705
jne 0x1800cfed0
mov rsi, qword [rax + 0x70]
mov qword [rsp + 0xa0], rsi
cmp dword [rsi], 0x7f2bb70b
je 0x1800cfeb8
mov eax, 0x7f2bb70b
jmp 0x1800cfe52
mov r14, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov rax, qword [r14]
mov eax, dword [rax + 0x80]
test eax, eax
je 0x1800cfdbe
mov ecx, esi
or ecx, r15d
dec eax
test eax, ecx
je 0x1800cfdbe
test rsi, rsi
je 0x1800cfeb4
mov ebx, 0x43
mov eax, ebx
sub eax, 0x43
je 0x1800cfd51
sub eax, 1
je 0x1800cfd1b
cmp eax, 1
jne 0x1800cfd9e
movsxd rax, r13d
add r15, rax
mov qword [rsp + 0x78], r15
jmp 0x1800cfd9e
mov rax, qword [r14]
mov rdx, qword [rbp + 0xd8]
mov ecx, dword [rbp + 4]
mov r8d, dword [rax + 0x18]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
movsxd r13, eax
mov rax, qword [r14]
mov dword [rsp + 0x48], r13d
cmp r13d, dword [rax + 0x18]
jne 0x1800cfdde
sub rsi, r13
mov qword [rsp + 0x70], rsi
jmp 0x1800cfd9e
mov rcx, qword [r14]
movsxd r8, dword [rcx + 0x18]
cmp rsi, r8
jae 0x1800cfd7c
mov rdx, qword [rbp + 0xd8]
mov ecx, dword [rbp + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov rcx, qword [r14]
mov r13d, eax
mov dword [rsp + 0x48], eax
cmp eax, dword [rcx + 0x18]
jne 0x1800cfdb7
movsxd r13, dword [rcx + 0x18]
mov rdx, r15
mov rcx, qword [rbp + 0xd8]
cmp rsi, r13
cmovbe r13d, esi
movsxd r8, r13d
mov dword [rsp + 0x48], r13d
call sub.VCRUNTIME140.dll_memcpy
inc ebx
cmp ebx, 0x46
jb 0x1800cfcf6
test rsi, rsi
jne 0x1800cfcf1
jmp 0x1800cfe9d
mov edi, 0x7f2bb724
jmp 0x1800cfde6
mov ecx, dword [rbp + 4]
mov r8d, esi
mov rdx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
movsxd r13, eax
mov dword [rsp + 0x48], r13d
cmp r13, rsi
je 0x1800cf8af
mov rcx, qword [r14]
mov edi, 0x7f2bb725
mov rax, qword [rcx + 0x28]
mov dword [rsp + 0x40], 0xfdf8
test rax, rax
je 0x1800cfe9d
mov rdx, qword [rsp + 0x130]
mov r9, r15
mov r8d, dword [r12]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r13d
mov edx, dword [rdx]
mov qword [rsp + 0x20], rsi
call rax
mov edi, eax
jmp 0x1800cfe9d
cmp ecx, 0x91b1
je 0x1800cfe50
cmp ecx, 0x9945
je 0x1800cfe66
cmp ecx, 0xcc3f
je 0x1800cfeda
cmp ecx, 0xfdf8
je 0x1800cf8af
cmp ecx, 0x17c88
jne 0x1800cfeb8
mov eax, edi
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [rsp + 0x128]
mov rcx, qword [rax]
add rcx, 0x10
cmp qword [rcx], 0
je 0x1800cfeb4
mov qword [rsp + 0x28], 0
mov r9d, 0x10b
xor r8d, r8d
mov qword [rsp + 0x20], 0
xor edx, edx
call fcn.180015c80
mov r9, qword [rsp + 0x110]
mov edx, dword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x40]
imul eax, edx, 0x96
add ecx, eax
mov dword [rsp + 0x40], ecx
cmp ecx, dword [rsp + 0x68]
jbe 0x1800cf800
jmp 0x1800cfe50
mov eax, 0x7f2bb705
jmp 0x1800cfe52
mov rcx, qword [rsp + 0x128]
mov r9d, 0x10b
mov qword [rsp + 0x28], 0
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 0
call fcn.180015c80
mov eax, dword [rsp + 0x58]
jmp 0x1800cfe52