Function at 0x14000dcf9
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
mov rdi, rcx
mov qword [rsp + 0x168], rdx
mov edx, 1
lea rcx, [0x14002d800]
call fcn.140006c81
movsxd rdx, dword [rdi + 0xe0]
mov rcx, qword [rsp + 0x168]
call fcn.14000bac0
mov rcx, qword [0x140032710]
mov qword [rsp + 0x40], rax
call fcn.14001f5f0
cmp byte [rax], 0
mov rbx, rax
jne 0x14000dce5
mov rdx, qword [rsp + 0x40]
lea rax, [0x14002df00]
mov qword [rsp + 0xb0], 0x1c
lea rcx, [rsp + 0x80]
mov qword [rsp + 0xb8], rax
call fcn.140001e76
mov rsi, qword [rsp + 0x88]
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rsi
jne 0x14000dcc1
lea rcx, [rsp + 0xb0]
mov edx, 2
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rsi
call fcn.140006c81
mov rdx, qword [rdi + 0x80]
mov rcx, qword [rsp + 0x168]
call fcn.14000bac5
cmp byte [rbx], 0
mov qword [rsp + 0x60], rax
jne 0x14000dcc1
xor r11d, r11d
mov edx, 1
xor esi, esi
mov word [rsp + 0x9a], 0
lea rcx, [0x14002d7f0]
mov dword [rsp + 0x9c], r11d
call fcn.140006c81
movsxd rax, dword [rdi + 0xe4]
cmp rax, rsi
jg 0x14000d7fd
lea rcx, [0x14002d7e0]
mov edx, 1
call fcn.140006c81
jmp 0x14000dcc1
lea rbp, [rsp + 0x80]
mov rdx, rsi
mov qword [rsp + 0xd0], 0x1b
lea rax, [0x14002de80]
mov rcx, rbp
mov qword [rsp + 0xd8], rax
call fcn.140001bd2
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
jne 0x14000dcde
movsxd rdx, dword [rdi + 0xe4]
mov qword [rsp + 0xe0], rax
mov rcx, rbp
lea rax, [0x14002de60]
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xf0], 0x17
call fcn.140001bd2
mov rcx, qword [rsp + 0x88]
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rcx
jne 0x14000dc88
mov edx, 4
mov qword [rsp + 0x108], rcx
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x100], rax
call fcn.140006c81
mov r13, qword [0x140032470]
call qword [r13]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
mov rbp, rax
call fcn.14000bacc
cmp byte [rbx], 0
mov rdx, rax
jne 0x14000dc88
mov rax, qword [0x140032440]
xor r10d, r10d
mov rcx, rbp
mov r9d, 4
lea r14, [rsp + 0x9c]
mov qword [rsp + 0x20], r10
mov r8, r14
call qword [rax]
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x6c], eax
call qword [r13]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
mov rbp, rax
call fcn.14000bacc
cmp byte [rbx], 0
mov rcx, rax
jne 0x14000dc88
mov edx, 4
call fcn.14000bacc
cmp byte [rbx], 0
mov rdx, rax
jne 0x14000dc88
mov rax, qword [0x140032440]
xor r8d, r8d
mov r9d, 4
mov rcx, rbp
mov qword [rsp + 0x20], r8
lea rbp, [rsi + 6]
mov r8, r14
call qword [rax]
mov eax, dword [rsp + 0x9c]
xor r9d, r9d
mov qword [rsp + 0x38], r9
sub rax, 8
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x14002e3c0]
cvttsd2si rax, xmm0
mov qword [rsp + 0x70], rax
mov rsi, qword [rsp + 0x70]
cmp qword [rsp + 0x38], rsi
jle 0x14000d9aa
mov rsi, rbp
jmp 0x14000dc88
mov r13, rbp
add r13, 2
mov rsi, r13
jno 0x14000d9c3
call fcn.1400049da
mov rsi, rbp
jmp 0x14000dc7b
mov rax, qword [0x140032470]
call qword [rax]
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov rbp, rax
call fcn.14000bacc
cmp byte [rbx], 0
mov rdx, rax
jne 0x14000dc7b
mov rax, qword [0x140032440]
xor ecx, ecx
mov r9d, 2
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x9a]
mov rcx, rbp
lea r15, [rsp + 0x80]
call qword [rax]
movzx edx, word [rsp + 0x9a]
mov rcx, r15
call fcn.14000a605
cmp byte [rbx], 0
mov rdx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
jne 0x14000dc68
test rdx, rdx
jg 0x14000da4e
dec rdx
xor ecx, ecx
call fcn.14000603a
jmp 0x14000dc68
cmp byte [rbp + 8], 0x30
je 0x14000daab
movzx edx, word [rsp + 0x9a]
mov rcx, r15
call fcn.14000a605
cmp byte [rbx], 0
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
jne 0x14000dc52
mov rcx, r15
mov edx, 3
call fcn.1400068bc
movups xmm1, xmmword [rsp + 0x80]
lea rcx, [rsp + 0xa0]
xor eax, eax
mov qword [rsp + 0x58], rcx
movaps xmmword [rsp + 0xa0], xmm1
jmp 0x14000dae5
add r13, 2
jo 0x14000dac1
test byte [rbp + 7], 0x40
jne 0x14000dacb
mov rcx, rbp
call fcn.140004902
jmp 0x14000dacb
call fcn.1400049da
jmp 0x14000dc6d
mov rsi, r13
jmp 0x14000dc88
mov cl, byte [r13 + rax + 8]
mov rdx, qword [rsp + 0xa8]
mov byte [rdx + r15 + 8], cl
cmp rax, 3
mov r15, rax
je 0x14000db3b
mov rdx, qword [rsp + 0xa0]
cmp rax, rdx
jl 0x14000db00
dec rdx
jmp 0x14000db33
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14000db27
test byte [rdx + 7], 0x40
je 0x14000db27
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
call fcn.1400071cf
mov rax, qword [rsp + 0x78]
inc rax
cmp r14, rax
jg 0x14000dad3
lea rdx, [r14 - 1]
mov rcx, rax
call fcn.14000603a
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa8]
jne 0x14000dbfa
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdx
call fcn.14000a627
cmp byte [rbx], 0
jne 0x14000dbfa
mov edx, dword [rsp + 0x6c]
add rdx, rax
mov qword [rsp + 0x58], rdx
jo 0x14000dc2e
mov rax, qword [0x140032470]
xor edx, edx
mov qword [rsp + 0xa0], rdx
call qword [rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x168]
mov r15, rax
call fcn.14000bac0
cmp byte [rbx], 0
mov rdx, rax
jne 0x14000dbfa
xor eax, eax
mov r9d, 8
mov rcx, r15
mov qword [rsp + 0x20], rax
mov rax, qword [0x140032440]
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x78], r8
call qword [rax]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
call fcn.14000bad1
cmp byte [rbx], 0
je 0x14000dc01
mov r15, qword [rsp + 0x38]
jmp 0x14000dc35
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x168]
call fcn.14000bac0
cmp byte [rbx], 0
jne 0x14000dbfa
mov r15, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xa0]
add r15, 1
mov qword [rax], rdx
jno 0x14000dc35
call fcn.1400049da
jmp 0x14000dbfa
test r14, r14
jne 0x14000dc41
mov qword [rsp + 0x38], r15
jmp 0x14000dc52
test byte [r14 + 7], 0x40
jne 0x14000dc3a
mov rcx, r14
call fcn.140004902
jmp 0x14000dc3a
test r13, r13
je 0x14000dc6d
test byte [r13 + 7], 0x40
jne 0x14000dc6d
mov rcx, r13
call fcn.140004902
jmp 0x14000dc6d
test rbp, rbp
je 0x14000dc7b
test byte [rbp + 7], 0x40
jne 0x14000dc7b
mov rcx, rbp
call fcn.140004902
cmp byte [rbx], 0
jne 0x14000dc88
mov rbp, rsi
jmp 0x14000d996
cmp qword [rsp + 0x50], 0
je 0x14000dca3
mov rax, qword [rsp + 0x50]
test byte [rax + 7], 0x40
jne 0x14000dca3
mov rcx, rax
call fcn.140004902
test r12, r12
je 0x14000dcb8
test byte [r12 + 7], 0x40
jne 0x14000dcb8
mov rcx, r12
call fcn.140004902
cmp byte [rbx], 0
je 0x14000d7db
cmp qword [rsp + 0x48], 0
je 0x14000dce5
mov rax, qword [rsp + 0x48]
test byte [rax + 7], 0x40
jne 0x14000dce5
mov rcx, rax
call fcn.140004902
jmp 0x14000dce5
test r12, r12
jne 0x14000dca8
jmp 0x14000dcc1
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
mov edx, 1
lea rcx, [0x14002d820]
call fcn.140006c81
cmp rsi, qword [rbx + 0x80]
mov edx, 1
jne 0x14000dd36
lea rcx, [0x14002d7d0]
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.140006c81
lea rcx, [0x14002d810]
call fcn.140006c81
mov rdx, rsi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
jmp 0x14000d6c4