Function at 0x140016bf0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov qword [rsp + 0xd0], 0xfffffffffffffffe
call fcn.140007b10
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x90]
call fcn.140007ad0
movzx eax, al
test eax, eax
je 0x140016c4b
lea rcx, [rsp + 0x118]
call fcn.140016160
jmp 0x14001702a
mov rcx, qword [rsp + 0x110]
call fcn.140018380
test rax, rax
je 0x140016cc5
mov rcx, qword [rsp + 0x110]
call fcn.140018380
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x110]
call fcn.140018420
mov rcx, qword [rsp + 0xd8]
cmp rcx, rax
jae 0x140016cc5
lea rcx, [rsp + 0x118]
call fcn.140018f40
mov byte [rsp + 0xe0], al
mov rcx, qword [rsp + 0x110]
call fcn.140018550
movzx ecx, byte [rsp + 0xe0]
mov byte [rax], cl
mov eax, dword [rsp + 0x118]
jmp 0x14001702a
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x98], 0
jne 0x140016ce1
call fcn.140007b10
jmp 0x14001702a
mov rcx, qword [rsp + 0x110]
call fcn.140018c80
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x80], 0
jne 0x140016d58
lea rcx, [rsp + 0x118]
call fcn.140018f40
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rcx + 0x98]
movzx ecx, al
call fcn.140017040
movzx eax, al
test eax, eax
je 0x140016d3b
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xe4], eax
jmp 0x140016d47
call fcn.140007b10
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe4]
jmp 0x14001702a
mov dword [rsp + 0x40], 8
lea rcx, [rsp + 0x118]
call fcn.140018f40
mov byte [rsp + 0x50], al
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1400085e0
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x60]
call fcn.140008650
mov rcx, rax
call fcn.140008690
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0x60]
call fcn.140004890
mov rcx, qword [rsp + 0xe8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xf0], rax
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x60]
call fcn.140008650
mov rcx, rax
call fcn.140008690
lea rcx, [rsp + 0x51]
mov rdx, qword [rsp + 0x110]
add rdx, 0x8c
lea r8, [rsp + 0x58]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, rcx
lea r8, [rsp + 0x50]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x80]
call fcn.140019060
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0
jl 0x140016ffb
cmp dword [rsp + 0xf8], 1
jle 0x140016e68
cmp dword [rsp + 0xf8], 3
je 0x140016f9e
jmp 0x140016ffb
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x60]
call fcn.140008650
mov rcx, rax
call fcn.140008690
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jbe 0x140016f0a
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.140008650
mov rcx, rax
call fcn.140008690
mov rcx, qword [rsp + 0x110]
mov r9, qword [rcx + 0x98]
mov r8, qword [rsp + 0x88]
mov edx, 1
mov rcx, rax
call fcn.14005780c
cmp qword [rsp + 0x88], rax
je 0x140016f0a
call fcn.140007b10
mov dword [rsp + 0xb8], eax
lea rcx, [rsp + 0x60]
call fcn.140004070
mov eax, dword [rsp + 0xb8]
jmp 0x14001702a
mov rax, qword [rsp + 0x110]
mov byte [rax + 0x89], 1
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x48], rax
je 0x140016f49
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xbc], eax
lea rcx, [rsp + 0x60]
call fcn.140004070
mov eax, dword [rsp + 0xbc]
jmp 0x14001702a
cmp qword [rsp + 0x88], 0
jbe 0x140016f56
jmp 0x140016f9c
lea rcx, [rsp + 0x60]
call fcn.140004890
cmp rax, 0x20
jae 0x140016f7a
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.140006c40
jmp 0x140016f9c
call fcn.140007b10
mov dword [rsp + 0xc0], eax
lea rcx, [rsp + 0x60]
call fcn.140004070
mov eax, dword [rsp + 0xc0]
jmp 0x14001702a
jmp 0x14001701a
mov rax, qword [rsp + 0x110]
mov rdx, qword [rax + 0x98]
movzx ecx, byte [rsp + 0x50]
call fcn.140017040
movzx eax, al
test eax, eax
je 0x140016fce
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xfc], eax
jmp 0x140016fda
call fcn.140007b10
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0xc4], eax
lea rcx, [rsp + 0x60]
call fcn.140004070
mov eax, dword [rsp + 0xc4]
jmp 0x14001702a
call fcn.140007b10
mov dword [rsp + 0xc8], eax
lea rcx, [rsp + 0x60]
call fcn.140004070
mov eax, dword [rsp + 0xc8]
jmp 0x14001702a
jmp 0x140016d84
add rsp, 0x108
ret