Function at 0x18002854c
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xd0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x1801563c0]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov esi, edx
mov rdi, rcx
or ebx, 0xffffffff
cmp edx, ebx
jne 0x180028594
xor eax, eax
jmp 0x1800288b5
mov rdx, qword [rcx + 0x48]
cmp qword [rdx], 0
je 0x1800285c7
mov rax, qword [rcx + 0x60]
movsxd rcx, dword [rax]
add rcx, qword [rdx]
cmp qword [rdx], rcx
jae 0x1800285c7
add dword [rax], ebx
mov rdx, qword [rdi + 0x48]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], sil
mov eax, esi
jmp 0x1800288b5
mov rdx, qword [rdi + 0x88]
test rdx, rdx
jne 0x1800285da
mov eax, ebx
jmp 0x1800288b5
cmp qword [rdi + 0x70], 0
jne 0x1800285f6
movsx ecx, sil
call fcn.1800d3380
cmp eax, ebx
cmovne ebx, esi
mov eax, ebx
jmp 0x1800288b5
mov byte [rsp + 0x40], sil
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rsp + 0xa0]
call fcn.1800291b4
nop
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xa0]
call fcn.180029390
mov rbp, rax
cmp qword [rax], 0xfffffffffffffffc
je 0x18002865d
cmp qword [rax], 0
jne 0x180028636
call fcn.1800d15f4
mov rax, qword [rbp]
cmp qword [rax + 0x20], 0x10
jb 0x180028647
mov rcx, qword [rax + 8]
jmp 0x18002864b
lea rcx, [rax + 8]
mov rax, qword [rax + 0x18]
add rcx, rax
cmp qword [rbp + 8], rcx
jb 0x18002865d
call fcn.1800d15f4
mov r12, qword [rbp + 8]
mov r13, qword [rsp + 0xb8]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xa0]
call fcn.180029390
mov rbp, rax
cmp qword [rax], 0xfffffffffffffffc
je 0x1800286b9
cmp qword [rax], 0
jne 0x180028692
call fcn.1800d15f4
mov rax, qword [rbp]
cmp qword [rax + 0x20], 0x10
jb 0x1800286a3
mov rcx, qword [rax + 8]
jmp 0x1800286a7
lea rcx, [rax + 8]
mov rax, qword [rax + 0x18]
add rcx, rax
cmp qword [rbp + 8], rcx
jb 0x1800286b9
call fcn.1800d15f4
mov rdx, qword [rbp + 8]
mov rcx, qword [rdi + 0x70]
mov r10, qword [rcx]
lea rax, [r13 + r12]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x41]
lea r8, [rsp + 0x40]
lea rdx, [rdi + 0x7c]
call qword [r10 + 0x28]
test eax, eax
js 0x18002889b
cmp eax, 1
jg 0x180028864
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xa0]
call fcn.180029390
mov rbp, rax
cmp qword [rax], 0xfffffffffffffffc
je 0x180028757
cmp qword [rax], 0
jne 0x180028730
call fcn.1800d15f4
mov rax, qword [rbp]
cmp qword [rax + 0x20], 0x10
jb 0x180028741
mov rcx, qword [rax + 8]
jmp 0x180028745
lea rcx, [rax + 8]
mov rax, qword [rax + 0x18]
add rcx, rax
cmp qword [rbp + 8], rcx
jb 0x180028757
call fcn.1800d15f4
mov r12, qword [rsp + 0x48]
sub r12, qword [rbp + 8]
je 0x1800287cf
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa0]
call fcn.180029390
mov rbp, rax
cmp qword [rax], 0xfffffffffffffffc
je 0x1800287b2
cmp qword [rax], 0
jne 0x18002878b
call fcn.1800d15f4
mov rax, qword [rbp]
cmp qword [rax + 0x20], 0x10
jb 0x18002879c
mov rcx, qword [rax + 8]
jmp 0x1800287a0
lea rcx, [rax + 8]
mov rax, qword [rax + 0x18]
add rcx, rax
cmp qword [rbp + 8], rcx
jb 0x1800287b2
call fcn.1800d15f4
mov r9, qword [rdi + 0x88]
mov r8, r12
mov edx, 1
mov rcx, qword [rbp + 8]
call fcn.1800d2584
cmp r12, rax
jne 0x18002880d
mov byte [rdi + 0x79], 1
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x50], rax
jne 0x180028848
test r12, r12
jne 0x180028610
cmp qword [rsp + 0xb8], 0x20
jae 0x18002882c
xor r8d, r8d
lea edx, [r12 + 8]
lea rcx, [rsp + 0xa0]
call fcn.180029294
jmp 0x180028610
cmp qword [rsp + 0xc0], 0x10
jb 0x180028825
mov rcx, qword [rsp + 0xa8]
call fcn.1800d1290
mov eax, ebx
jmp 0x1800288b5
cmp qword [rsp + 0xc0], 0x10
jb 0x180028844
mov rcx, qword [rsp + 0xa8]
call fcn.1800d1290
mov eax, ebx
jmp 0x1800288b5
cmp qword [rsp + 0xc0], 0x10
jb 0x180028860
mov rcx, qword [rsp + 0xa8]
call fcn.1800d1290
mov eax, esi
jmp 0x1800288b5
cmp eax, 3
jne 0x18002889b
movsx ecx, byte [rsp + 0x40]
mov rdx, qword [rdi + 0x88]
call fcn.1800d3380
cmp eax, ebx
cmovne ebx, esi
cmp qword [rsp + 0xc0], 0x10
jb 0x180028897
mov rcx, qword [rsp + 0xa8]
call fcn.1800d1290
mov eax, ebx
jmp 0x1800288b5
cmp qword [rsp + 0xc0], 0x10
jb 0x1800288b3
mov rcx, qword [rsp + 0xa8]
call fcn.1800d1290
mov eax, ebx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1800d12b0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret