Function at 0x18001d110
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r10d, dword [rsp + 0xb8]
mov r15, r9
mov r9, qword [rsp + 0x60]
mov r12, rcx
mov rcx, qword [rsp + 0x60]
xor edi, edi
imul eax, edx, 0x150
mov r13d, edx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x48], eax
cmp edx, eax
ja 0x18001d691
mov r14d, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0xb8]
mov dword [rsp + 0x38], r14d
nop
cmp r13d, 0x94c
ja 0x18001d49f
je 0x18001d389
cmp r13d, 0x32c
ja 0x18001d30f
je 0x18001d2b0
cmp r13d, 0x1c
je 0x18001d247
cmp r13d, 0x40
je 0x18001d1d3
cmp r13d, 0x5c
jne 0x18001d625
test r12, r12
je 0x18001d625
mov byte [r12], 0
jmp 0x18001d625
mov r9, qword [r15 + 0x70]
mov qword [rsp + 0x58], r9
mov rax, qword [r9 + 0x40]
test rax, rax
je 0x18001d1f9
mov r8d, 1
lea rdx, [rsp + 0x30]
mov rcx, r15
call rax
cdqe
jmp 0x18001d20f
mov r9, qword [r9 + 0x38]
lea rcx, [rsp + 0x30]
mov edx, 1
mov r8d, edx
call fcn.180079e64
cmp rax, 1
jae 0x18001d60f
mov eax, 0x1a
nop
cmp eax, 0x1a
je 0x18001d232
cmp eax, 0xc98
je 0x18001d86a
jmp 0x18001d236
mov dword [rsp + 0x60], edi
add eax, 0xc7e
cmp eax, 0x18fc
jbe 0x18001d220
jmp 0x18001d60f
mov ecx, dword [r15]
mov edx, 0x95
cmp ecx, dword [r12]
cmovle ecx, dword [r12]
xor r9d, r9d
add ecx, ecx
xor r8d, r8d
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x40]
call fcn.18001be80
mov qword [rsp + 0x50], rax
mov rcx, rax
test rax, rax
jne 0x18001d614
mov edx, 0x105
mov ecx, edx
sub ecx, 0x105
je 0x18001d299
cmp ecx, 1
je 0x18001d86a
jmp 0x18001d29e
mov qword [rsp + 0x60], rdi
inc edx
cmp edx, 0x107
jb 0x18001d284
mov rcx, rax
jmp 0x18001d614
mov r14d, dword [r15]
mov r9d, edi
mov dword [rsp + 0x38], r14d
test r14d, r14d
jle 0x18001d620
mov r8, rdi
mov rdi, qword [rsp + 0x50]
nop dword [rax]
mov rcx, qword [r15 + 0x10]
lea r8, [r8 + 3]
mov rdx, qword [rdi + 0x10]
inc r9d
movzx eax, word [rcx + r8 - 3]
mov word [rdx + r8 - 3], ax
movzx eax, byte [rcx + r8 - 1]
mov byte [rdx + r8 - 1], al
mov r14d, dword [r15]
mov dword [rsp + 0x38], r14d
cmp r9d, r14d
jl 0x18001d2d0
mov rcx, qword [rsp + 0x50]
xor edi, edi
jmp 0x18001d619
cmp r13d, 0x63c
je 0x18001d335
cmp r13d, 0x740
jne 0x18001d625
movzx r10d, byte [rsp + 0x30]
mov dword [rsp + 0x34], r10d
jmp 0x18001d625
mov rdx, qword [r15 + 0x10]
movsxd rcx, r14d
lea rax, [rdx + rcx*2]
cmp byte [rcx + rax - 3], 0
jne 0x18001d378
nop word [rax + rax]
movsxd rcx, r14d
lea rax, [rdx + rcx*2]
cmp byte [rcx + rax - 2], 0
jne 0x18001d378
cmp byte [rcx + rax - 1], 0
jne 0x18001d378
dec r14d
lea rax, [rdx + rcx*2]
cmp byte [rcx + rax - 6], 0
mov dword [rsp + 0x38], r14d
je 0x18001d350
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0xb8]
jmp 0x18001d625
cmp dword [r12], 0
mov esi, edi
jle 0x18001d625
mov r11, r8
mov rbx, rdi
nop dword [rax]
cmp r14d, 0x100
jg 0x18001d60f
mov r10d, 0xcc
mov eax, r10d
sub eax, 0xcc
je 0x18001d42d
sub eax, 1
je 0x18001d425
cmp eax, 1
jne 0x18001d477
cmp ebp, dword [r15]
jge 0x18001d3d8
mov byte [r11], bpl
jmp 0x18001d477
mov rdi, qword [rsp + 0x50]
mov eax, 0x7a
cmp eax, 0x7a
jne 0x18001d410
mov r8, qword [r12 + 0x10]
movsxd rcx, r14d
lea r9, [rcx + rcx*2]
movzx ecx, word [r8 + rbx]
add r9, qword [rdi + 0x10]
mov word [r9], cx
movzx ecx, byte [r8 + rbx + 2]
mov byte [r9 + 2], cl
mov byte [r11], r14b
inc r14d
add eax, 0x34e6
cmp eax, 0x34e6
jbe 0x18001d3e2
mov dword [rsp + 0x38], r14d
xor edi, edi
jmp 0x18001d477
mov r13d, 0x94c
jmp 0x18001d477
mov r8d, dword [r15]
mov ebp, edi
test r8d, r8d
jle 0x18001d471
mov r9, qword [r15 + 0x10]
mov eax, esi
lea rdx, [rax + rax*2]
add rdx, qword [r12 + 0x10]
nop word [rax + rax]
mov ecx, ebp
lea rax, [r9 + rcx*2]
add rcx, rax
movzx eax, word [rcx]
cmp ax, word [rdx]
jne 0x18001d46a
movzx eax, byte [rcx + 2]
cmp al, byte [rdx + 2]
je 0x18001d471
inc ebp
cmp ebp, r8d
jl 0x18001d450
mov r10d, 0xcc
inc r10d
cmp r10d, 0xcf
jb 0x18001d3b3
inc esi
add rbx, 3
inc r11
cmp esi, dword [r12]
jl 0x18001d3a0
jmp 0x18001d60f
cmp r13d, 0xa6c
je 0x18001d571
cmp r13d, 0xc5c
je 0x18001d516
cmp r13d, 0xe40
je 0x18001d508
cmp r13d, 0x147c
je 0x18001d4dc
cmp r13d, 0x1e8c
jne 0x18001d625
mov rax, rdi
jmp 0x18001d86f
test r12, r12
je 0x18001d625
movzx eax, byte [r15 + 0x10]
test al, 1
je 0x18001d4fd
test al, 2
jne 0x18001d4fd
mov al, 1
mov byte [r12], al
jmp 0x18001d625
xor al, al
mov byte [r12], al
jmp 0x18001d625
mov byte [r9 + 0x50], 0
mov dword [r9 + 8], r10d
jmp 0x18001d625
cmp r14d, 0x100
jle 0x18001d625
mov ebx, 6
cmp ebx, 6
je 0x18001d54a
cmp ebx, 0x3d2
je 0x18001d543
cmp ebx, 0x79e
je 0x18001d86a
jmp 0x18001d55e
mov qword [rsp + 0x60], rdi
jmp 0x18001d55e
xor r8d, r8d
mov rdx, rcx
lea ecx, [r8 + 0x3c]
call fcn.180053980
mov rcx, qword [rsp + 0x50]
add ebx, 0x3cc
cmp ebx, 0xb64
jbe 0x18001d528
jmp 0x18001d614
test byte [r15 + 0x10], 1
jne 0x18001d625
nop dword [rax]
mov rcx, qword [r15 + 0x28]
mov rax, qword [r15 + 0x18]
sub rax, rcx
cmp rax, 4
jb 0x18001d5f7
mov r8, qword [r15 + 0xb8]
add r8, rcx
movsxd rsi, dword [r8]
cmp esi, 5
jge 0x18001d5d3
mov ecx, 0x87
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x87
je 0x18001d5c4
cmp eax, 1
je 0x18001d86a
jmp 0x18001d5c9
mov qword [rsp + 0x60], rdi
inc ecx
cmp ecx, 0x89
jb 0x18001d5b0
mov eax, dword [r15 + 0x18]
sub eax, dword [r15 + 0x28]
cmp esi, eax
jle 0x18001d63f
cmp esi, dword [r15 + 0x20]
jle 0x18001d5f7
mov r9d, 0x5f
mov r8, r15
xor edx, edx
xor ecx, ecx
call fcn.18003f430
mov rdx, r15
mov ecx, 0x6e
call fcn.180064e90
test byte [r15 + 0x10], 1
je 0x18001d580
mov rcx, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x34]
mov edx, dword [rsp + 0xb8]
mov r9, qword [rsp + 0x58]
imul eax, edx, 0x1c
add r13d, eax
cmp r13d, dword [rsp + 0x48]
ja 0x18001d69e
mov r8, qword [rsp + 0xc0]
jmp 0x18001d180
mov eax, esi
lea rdx, [r15 + 0x38]
mov r9d, 0x12c
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.180025330
test al, al
jne 0x18001d684
mov ecx, 0x11b
mov eax, ecx
sub eax, 0x11a
je 0x18001d86a
cmp eax, 1
jne 0x18001d67a
mov qword [rsp + 0x60], rdi
dec ecx
cmp ecx, 0x119
ja 0x18001d663
add qword [r15 + 0x28], rsi
lea rax, [r15 + 0x38]
jmp 0x18001d86f
mov ebx, dword [rsp + 0xb8]
mov dword [rsp + 0x38], ebx
jmp 0x18001d6a2
mov ebx, dword [rsp + 0x38]
imul r13d, edx, 0xf2
mov ebp, edx
cmp edx, r13d
ja 0x18001d86a
mov r12, qword [rsp + 0x60]
mov r15d, dword [rsp + 0xb8]
mov esi, dword [rsp + 0xb8]
mov r14, qword [rsp + 0x60]
movabs r8, 0x100200001002
cmp ebp, 0x754
ja 0x18001d82e
je 0x18001d86a
cmp ebp, 0x1c
je 0x18001d7f9
cmp ebp, 0x40
je 0x18001d7e0
cmp ebp, 0x284
je 0x18001d73c
cmp ebp, 0x4ec
je 0x18001d72e
cmp ebp, 0x5c0
jne 0x18001d8ee
mov eax, dword [r9 + 0x10]
inc eax
mov dword [r9 + 0x14], eax
lea eax, [r10 + 1]
mov dword [r9 + 0x18], eax
jmp 0x18001d8ee
mov dword [rcx + 4], r15d
mov qword [rsp + 0x60], rcx
jmp 0x18001d8ee
cmp esi, dword [rcx]
je 0x18001d7d9
movsxd rdi, dword [rsp + 0x38]
mov ebx, 0x91
nop
cmp ebx, 0x91
je 0x18001d7ba
cmp ebx, 0x1a0e
je 0x18001d786
cmp ebx, 0x338b
jne 0x18001d7be
cmp esi, dword [rcx]
jge 0x18001d7be
movsxd rax, esi
mov rcx, r14
lea rdx, [rax + rax*2]
call fcn.180073d70
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
jmp 0x18001d7be
cmp edi, esi
jge 0x18001d7be
lea rdx, [rdi*2 + 1]
mov ecx, esi
add rdx, r14
add rdx, rdi
sub ecx, edi
nop dword [rax]
mov word [rdx], 0
mov byte [rdx - 1], 0
lea rdx, [rdx + 3]
sub rcx, 1
jne 0x18001d7a0
mov rcx, qword [rsp + 0x50]
jmp 0x18001d7be
mov r14, qword [rcx + 0x10]
add ebx, 0x197d
cmp ebx, 0x4c77
jbe 0x18001d750
mov ebx, dword [rsp + 0x38]
xor edi, edi
mov edx, dword [rsp + 0xb8]
mov dword [rcx], esi
jmp 0x18001d8ee
mov ecx, r10d
mov eax, 1
shl eax, cl
mov dword [r9 + 0xc], eax
inc eax
mov dword [r9 + 0x10], eax
jmp 0x18001d8e9
lea r9, [rsp + 0x48]
mov dword [rsp + 0x48], ebx
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov edx, 0xa6
xor ecx, ecx
call fcn.180046ee0
mov edx, dword [rsp + 0xb8]
mov ecx, eax
mov esi, 1
mov r15d, eax
shl esi, cl
jmp 0x18001d8e9
cmp ebp, 0xb40
je 0x18001d8d6
cmp ebp, 0x10c0
je 0x18001d8c8
cmp ebp, 0x1640
je 0x18001d8bb
cmp ebp, 0x1bc0
je 0x18001d887
cmp ebp, 0x2140
jne 0x18001d8ee
mov dword [rsp + 0x60], 1
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, r12
mov ecx, 0x100
nop
mov qword [rax], r8
mov qword [rax + 8], r8
mov qword [rax + 0x10], r8
lea rax, [rax + 0x40]
mov qword [rax - 0x28], r8
mov qword [rax - 0x20], r8
mov qword [rax - 0x18], r8
mov qword [rax - 0x10], r8
mov qword [rax - 8], r8
sub rcx, 1
jne 0x18001d890
jmp 0x18001d8e9
mov dword [r9 + 0x30], edi
lea r12, [r9 + 0x2150]
jmp 0x18001d8ee
mov dword [r9 + 0x20], 0x1002
mov dword [r9 + 0x2c], edi
jmp 0x18001d8ee
mov ecx, dword [r9 + 0x18]
mov eax, 1
shl eax, cl
mov dword [r9 + 0x1c], eax
mov dword [r9 + 0x28], edi
mov rcx, qword [rsp + 0x50]
imul eax, edx, 0x16
add ebp, eax
cmp ebp, r13d
ja 0x18001d86a
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x34]
jmp 0x18001d6cd