Function at 0x18003c3e0
Capabilities:
Read file on windows

Disassembly:
mov dword [rsp + 8], ecx
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xb0
lea eax, [rcx - 5]
mov r10d, ecx
mov dword [rbp - 0x11], eax
cmp ecx, eax
jbe 0x18003c8fb
movzx eax, byte [rbp + 0x67]
xor ecx, ecx
mov qword [r11 - 0x10], rbx
mov qword [r11 - 0x18], rsi
mov esi, dword [rbp - 0x39]
mov qword [r11 - 0x20], rdi
mov edi, dword [rbp + 0x67]
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov r14d, dword [rbp - 0x31]
mov qword [r11 - 0x40], r15
lea r11, [0x180000000]
mov dword [rbp + 0x7f], eax
nop word [rax + rax]
mov eax, r10d
sub eax, 0xbb
je 0x18003c759
sub eax, 2
je 0x18003c728
sub eax, 1
je 0x18003c4b7
sub eax, 1
je 0x18003c49a
cmp eax, 1
jne 0x18003c8a9
mov eax, dword [0x180091530]
inc eax
mov dword [0x180091530], eax
cmp eax, 3
jne 0x18003c485
mov dword [0x180091530], ecx
mov eax, ecx
cdqe
mov eax, dword [r11 + rax*4 + 0x6f048]
mov dword [0x180096fec], eax
jmp 0x18003c8a9
mov eax, dword [0x1800974ec]
add eax, 0x14
mov dword [rbp - 0x21], eax
mov eax, dword [0x1800974f0]
add eax, 9
mov dword [rbp + 0x77], eax
jmp 0x18003c8a9
mov ecx, dword [0x1800974f0]
mov dword [rbp + 0x6f], ecx
cmp ecx, dword [rbp + 0x77]
jae 0x18003c8a9
mov eax, dword [rbp - 0x21]
mov r9d, ecx
mov edx, dword [rbp + 0x77]
mov qword [rbp + 7], rcx
nop word [rax + rax]
mov r13d, dword [0x1800974ec]
cmp r13d, eax
jae 0x18003c70b
mov r12d, r13d
mov qword [rbp - 9], r13
shl r12, 6
mov r8d, r13d
add r12, r9
lea rdx, [r12*8 + 0x839e0]
add rdx, r11
mov qword [rbp - 1], rdx
mov r15d, 0x80
nop word [rax + rax]
mov eax, r15d
sub eax, 0x7e
je 0x18003c5b8
sub eax, 1
je 0x18003c55b
mov r10d, dword [rbp + 0x67]
cmp eax, 1
jne 0x18003c6cd
mov r14d, r13d
mov esi, ecx
sub r14d, dword [0x1800974ec]
sub esi, dword [0x1800974f0]
add r14d, r14d
shl esi, 4
jmp 0x18003c6cd
mov ecx, dword [0x1800974f4]
test ecx, ecx
je 0x18003c58e
sub ecx, 1
je 0x18003c583
sub ecx, 1
je 0x18003c57f
cmp ecx, 1
jne 0x18003c5a3
movzx edi, byte [r12 + r11 + 0x8b9e0]
jmp 0x18003c5a3
mov edi, dword [rdx]
jmp 0x18003c5a3
movzx edi, byte [r12 + r11 + 0x829e0]
jmp 0x18003c5a3
mov ecx, dword [r11 + r9*4 + 0x91040]
mov rax, qword [0x1800932c8]
add rcx, r8
mov edi, dword [rax + rcx*4]
mov r10d, 0xbe
mov r15d, 0x7f
mov dword [rbp + 0x67], r10d
jmp 0x18003c6ca
cmp edi, 0xd8
jae 0x18003c5e6
lea r9, [rbp - 0x31]
mov dword [rbp - 0x39], edi
mov r8d, 0xdb
mov dword [rbp - 0x29], esi
lea rdx, [rbp - 0x39]
mov dword [rbp - 0x31], r14d
lea rcx, [rbp - 0x29]
call fcn.180049ae0
jmp 0x18003c6b3
mov ebx, 0x29
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x29
je 0x18003c61a
cmp eax, 0x77
jne 0x18003c6a4
mov eax, edi
and eax, 0xf
add eax, 0x19
mov dword [rbp - 0x31], eax
lea eax, [rsi + 8]
mov dword [rbp - 0x39], eax
lea eax, [r14 + 1]
mov dword [rbp - 0x29], eax
jmp 0x18003c68d
mov eax, edi
mov dword [rbp - 0x39], esi
shr eax, 0xc
lea r8, [rbp - 0x29]
and eax, 0xf
mov dword [rbp - 0x29], r14d
add eax, 0x19
lea rdx, [rbp - 0x31]
mov r9d, 0x2c
mov dword [rbp - 0x31], eax
lea rcx, [rbp - 0x39]
call fcn.180019bf0
mov eax, edi
mov dword [rbp - 0x39], esi
shr eax, 8
lea r8, [rbp - 0x29]
and eax, 0xf
lea rdx, [rbp - 0x31]
add eax, 0x19
lea rcx, [rbp - 0x39]
mov dword [rbp - 0x31], eax
mov r9d, 0x2c
lea eax, [r14 + 1]
mov dword [rbp - 0x29], eax
call fcn.180019bf0
mov eax, edi
mov dword [rbp - 0x29], r14d
shr eax, 4
and eax, 0xf
add eax, 0x19
mov dword [rbp - 0x31], eax
lea eax, [rsi + 8]
mov dword [rbp - 0x39], eax
mov r9d, 0x2c
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x31]
lea rcx, [rbp - 0x39]
call fcn.180019bf0
add ebx, 0x77
cmp ebx, 0x117
jb 0x18003c5f0
mov r10d, dword [rbp + 0x67]
lea r11, [0x180000000]
mov r9, qword [rbp + 7]
mov r8, qword [rbp - 9]
mov rdx, qword [rbp - 1]
mov ecx, dword [rbp + 0x6f]
dec r15d
cmp r15d, 0x7d
ja 0x18003c520
mov eax, dword [rbp - 0x21]
inc r8
add rdx, 0x200
mov dword [rbp - 0x31], r14d
inc r13d
mov dword [rbp - 0x39], esi
add r12, 0x40
mov qword [rbp - 9], r8
mov qword [rbp - 1], rdx
cmp r13d, eax
jb 0x18003c510
mov edx, dword [rbp + 0x77]
jmp 0x18003c70f
mov r10d, dword [rbp + 0x67]
inc ecx
inc r9
mov dword [rbp + 0x6f], ecx
mov qword [rbp + 7], r9
cmp ecx, edx
jb 0x18003c4e0
jmp 0x18003c8a9
mov eax, dword [0x180096fec]
lea rdx, [rbp + 0x6f]
xor r9d, r9d
mov dword [rbp - 0x29], ecx
lea rcx, [rbp - 0x29]
mov dword [rbp + 0x6f], eax
lea r8d, [r9 + 3]
call fcn.1800044a0
mov eax, dword [0x180096fec]
mov dword [0x180096ff0], eax
jmp 0x18003c8a5
mov esi, dword [rbp + 0x7f]
lea rbx, [0x1800a4200]
mov qword [0x1800a4498], rcx
mov r13d, ecx
mov qword [0x1800a44a0], rcx
mov r14d, 1
nop word [rax + rax]
mov r12d, 0x9b
nop word [rax + rax]
mov eax, r12d
sub eax, 0x9b
je 0x18003c861
sub eax, r14d
je 0x18003c7f8
cmp eax, r14d
jne 0x18003c87a
test sil, sil
je 0x18003c7ba
mov byte [rbx + 0x10], r14b
jmp 0x18003c87a
mov ecx, 0x3e
nop
mov eax, ecx
sub eax, 0x3d
je 0x18003c7d8
cmp eax, r14d
jne 0x18003c7ec
mov dword [rbx], 0x443343
mov byte [rbx + 0x10], 0
jmp 0x18003c7ec
mov eax, dword [str.Empty]
mov dword [rbx + 0x11], eax
movzx eax, word [0x180066cb4]
mov word [rbx + 0x15], ax
dec ecx
cmp ecx, 0x3c
ja 0x18003c7c0
jmp 0x18003c87a
mov rcx, qword [rbp + 0xf]
mov edx, 0x8000
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__open]
mov r15d, eax
cmp eax, 0xffffffff
je 0x18003c87a
mov r8d, 0x38
mov rdx, rbx
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
cmp eax, 0x38
jne 0x18003c856
xor ecx, ecx
nop word [rax + rax]
movzx edx, byte [rbx + rcx]
lea rax, [0x1800687b4]
movzx eax, byte [rax + rcx]
inc rcx
sub edx, eax
jne 0x18003c84c
cmp rcx, 4
jne 0x18003c830
test edx, edx
movzx esi, sil
cmove esi, r14d
mov ecx, r15d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__close]
jmp 0x18003c87a
lea rdx, [rbp - 0x19]
mov dword [rbp - 0x19], r13d
mov ecx, 0x66
call fcn.18004ff20
mov qword [rbp + 0xf], rax
xor sil, sil
inc r12d
cmp r12d, 0x9e
jb 0x18003c790
inc r13d
mov dword [rbp + 0x7f], esi
add rbx, 0x38
cmp r13d, 7
jb 0x18003c780
mov esi, dword [rbp - 0x39]
mov r14d, dword [rbp - 0x31]
mov r10d, dword [rbp + 0x67]
dec r10d
lea r11, [0x180000000]
mov ecx, 0
mov dword [rbp + 0x67], r10d
cmp r10d, dword [rbp - 0x11]
ja 0x18003c440
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
add rsp, 0xb0
pop rbp
ret