Function at 0x18001d420
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r13d, dword [rsp + 0xd0]
mov r14, rcx
xor ecx, ecx
imul eax, r13d, 0x3b6
mov r15, r9
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rcx
mov edi, r13d
mov dword [rsp + 0x40], eax
cmp r13d, eax
ja 0x18001d8a8
mov rbp, qword [rsp + 0x58]
mov esi, dword [rsp + 0xd0]
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x58]
mov r9d, 0x8000
mov r10d, 0xfffe
cmp edi, 0x1857
ja 0x18001d673
je 0x18001d605
cmp edi, 0xf7
ja 0x18001d530
je 0x18001d501
mov eax, edi
sub eax, 0x1f
je 0x18001d835
sub eax, 0x45
je 0x18001d4e1
sub eax, 0x59
je 0x18001d85a
cmp eax, 0x1a
mov eax, dword [rsp + 0x40]
jne 0x18001d839
mov qword [rsp + 0x50], rcx
jmp 0x18001d839
cmp qword [r14 + 0x18], 0x10
mov rax, r14
jb 0x18001d4ee
mov rax, qword [r14]
mov qword [rsp + 0x60], rax
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x68], rax
jmp 0x18001d835
test r14, r14
je 0x18001d870
test r15, r15
je 0x18001d528
xor r9d, r9d
mov rdx, r15
xor ecx, ecx
lea r8d, [r9 + 0x58]
call fcn.18006b6d0
mov r12, rax
jmp 0x18001d835
mov r12, rcx
jmp 0x18001d839
cmp edi, 0x62d
je 0x18001d5df
cmp edi, 0xc3b
je 0x18001d599
cmp edi, 0x1249
je 0x18001d580
cmp edi, 0x13ec
jne 0x18001d839
mov dword [rsp + 0x28], 0x1f
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor ecx, ecx
xor r8d, r8d
call fcn.180005a60
mov byte [rsp + 0x48], al
jmp 0x18001d835
lea eax, [rsi + 1]
mov ecx, 1
movsxd rdx, eax
call fcn.180080de4
mov qword [r14 + 8], rax
jmp 0x18001d835
mov eax, dword [r15]
mov esi, 1
test eax, eax
jle 0x18001d5bf
cmp eax, 0x7f
jle 0x18001d835
nop
inc esi
shr eax, 8
cmp eax, 0x7f
ja 0x18001d5b0
jmp 0x18001d835
cmp eax, 0xffffff80
jge 0x18001d835
nop dword [rax + rax]
inc esi
sar eax, 8
cmp eax, 0xffffff80
jl 0x18001d5d0
jmp 0x18001d835
lea r9, [rsp + 0xd0]
mov word [rsp + 0xd0], r10w
xor r8d, r8d
mov edx, 0x12b
mov rcx, r14
call fcn.18000fb80
jmp 0x18001d835
mov eax, dword [r15]
movsxd rdx, esi
add rdx, qword [r14 + 8]
test eax, eax
je 0x18001d633
mov ecx, eax
cmp ecx, 0xffffffff
je 0x18001d62f
mov byte [rdx - 1], cl
dec rdx
mov eax, dword [r15]
sar eax, 8
mov dword [r15], eax
mov ecx, eax
test eax, eax
jne 0x18001d615
xor ecx, ecx
test eax, eax
jns 0x18001d641
mov rax, qword [r14 + 8]
cmp byte [rax], 0
jne 0x18001d641
mov byte [rax], 0xff
mov dword [rsp + 0x38], 0x4d
xor r9d, r9d
mov qword [rsp + 0x30], rcx
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
xor ecx, ecx
mov dword [r14 + 0x10], esi
mov qword [rsp + 0x20], r14
call fcn.180026900
mov rbp, rax
jmp 0x18001d835
cmp edi, 0x2ad5
ja 0x18001d786
je 0x18001d739
cmp edi, 0x1e65
je 0x18001d6bb
cmp edi, 0x2473
je 0x18001d6b2
cmp edi, 0x2774
je 0x18001d8a8
cmp edi, 0x2a81
je 0x18001d8a8
jmp 0x18001d839
mov dword [rsp + 0x48], esi
jmp 0x18001d839
test rbp, rbp
je 0x18001d6cf
test word [rbp + 0x18], r9w
jbe 0x18001d6cf
or word [r14 + 0x18], 1
jmp 0x18001d702
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0xd0]
xor ecx, ecx
mov dword [rsp + 0xd0], 1
mov r9, r14
mov edx, 0xb2
call fcn.18001b810
test eax, eax
js 0x18001d879
mov eax, dword [rsp + 0x40]
test byte [r14 + 0x18], 0x40
je 0x18001d839
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov edx, 0xd7
xor ecx, ecx
call fcn.18001f920
test eax, eax
jns 0x18001d835
mov dword [rsp + 0x48], 0xffffffff
jmp 0x18001d8a8
mov rax, qword [rdx]
mov r9d, 0x4f
mov qword [rsp + 0x38], rcx
mov r8, r15
mov qword [rsp + 0x48], rax
xor edx, edx
mov rax, qword [r14]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.18000bb30
mov qword [rsp + 0x48], rax
jmp 0x18001d835
cmp edi, 0x3135
je 0x18001d7da
cmp edi, 0x54d3
je 0x18001d8a8
cmp edi, 0x6173
je 0x18001d7b3
cmp edi, 0x91b1
je 0x18001d8a8
jmp 0x18001d839
test rbx, rbx
je 0x18001d7cf
mov rcx, r14
call fcn.180089438
test eax, eax
mov eax, dword [rsp + 0x40]
jne 0x18001d7cf
mov qword [rsp + 0x48], rbx
jmp 0x18001d839
mov qword [rsp + 0x48], 0xffffffffffffffff
jmp 0x18001d839
test r14, r14
je 0x18001d7e9
cmp qword [rdx], r12
jb 0x18001d7e9
mov rbx, rcx
jmp 0x18001d7f9
mov rbx, qword [r8]
mov rax, r12
sub rax, qword [rdx]
cmp rax, rbx
cmovb rbx, rax
mov qword [rsp + 0x38], rcx
mov r9d, 0x41
mov qword [rsp + 0x30], rcx
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r15
call fcn.18000bb30
mov r9, r14
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.18008a4b8
mov rbx, rax
mov eax, dword [rsp + 0x40]
imul ecx, r13d, 0x32
add edi, ecx
cmp edi, eax
ja 0x18001d8a8
mov rdx, qword [rsp + 0xb8]
xor ecx, ecx
mov r8, qword [rsp + 0xc0]
jmp 0x18001d485
xor r8d, r8d
mov edx, 0xb6
mov rcx, r14
call fcn.18006fb60
mov byte [rsp + 0x48], al
jmp 0x18001d8a8
mov rax, 0xffffffffffffffff
jmp 0x18001d8ad
neg eax
mov qword [rsp + 0x20], 0
mov r9d, 0xef
mov dword [rsp + 0xd0], eax
xor r8d, r8d
lea rcx, [rsp + 0xd0]
mov rdx, r14
call fcn.18004e9d0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret