Function at 0x140015940
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.140006490
mov dword [rsp + 0x90], eax
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x90]
call fcn.140006450
movzx eax, al
test eax, eax
je 0x14001599b
lea rcx, [rsp + 0x118]
call fcn.140014f10
jmp 0x140015d7a
mov rcx, qword [rsp + 0x110]
call fcn.140017370
test rax, rax
je 0x140015a15
mov rcx, qword [rsp + 0x110]
call fcn.140017370
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x110]
call fcn.140017410
mov rcx, qword [rsp + 0xd8]
cmp rcx, rax
jae 0x140015a15
lea rcx, [rsp + 0x118]
call fcn.140018a30
mov byte [rsp + 0xe0], al
mov rcx, qword [rsp + 0x110]
call fcn.140017540
movzx ecx, byte [rsp + 0xe0]
mov byte [rax], cl
mov eax, dword [rsp + 0x118]
jmp 0x140015d7a
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x98], 0
jne 0x140015a31
call fcn.140006490
jmp 0x140015d7a
mov rcx, qword [rsp + 0x110]
call fcn.140018880
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x80], 0
jne 0x140015aa8
lea rcx, [rsp + 0x118]
call fcn.140018a30
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rcx + 0x98]
movzx ecx, al
call fcn.140015d90
movzx eax, al
test eax, eax
je 0x140015a8b
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xe4], eax
jmp 0x140015a97
call fcn.140006490
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe4]
jmp 0x140015d7a
mov dword [rsp + 0x40], 8
lea rcx, [rsp + 0x118]
call fcn.140018a30
mov byte [rsp + 0x50], al
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.140006de0
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x60]
call fcn.140006e50
mov rcx, rax
call fcn.14000be90
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0x60]
call fcn.140006e90
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.140006e50
mov rcx, rax
call fcn.14000be90
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.140018b60
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0
jl 0x140015d4b
cmp dword [rsp + 0xf8], 1
jle 0x140015bb8
cmp dword [rsp + 0xf8], 3
je 0x140015cee
jmp 0x140015d4b
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x60]
call fcn.140006e50
mov rcx, rax
call fcn.14000be90
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jbe 0x140015c5a
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.140006e50
mov rcx, rax
call fcn.14000be90
mov rcx, qword [rsp + 0x110]
mov r9, qword [rcx + 0x98]
mov r8, qword [rsp + 0x88]
mov edx, 1
mov rcx, rax
call fcn.140034720
cmp qword [rsp + 0x88], rax
je 0x140015c5a
call fcn.140006490
mov dword [rsp + 0xb8], eax
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov eax, dword [rsp + 0xb8]
jmp 0x140015d7a
mov rax, qword [rsp + 0x110]
mov byte [rax + 0x89], 1
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x48], rax
je 0x140015c99
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xbc], eax
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov eax, dword [rsp + 0xbc]
jmp 0x140015d7a
cmp qword [rsp + 0x88], 0
jbe 0x140015ca6
jmp 0x140015cec
lea rcx, [rsp + 0x60]
call fcn.140006e90
cmp rax, 0x20
jae 0x140015cca
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.140005ae0
jmp 0x140015cec
call fcn.140006490
mov dword [rsp + 0xc0], eax
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov eax, dword [rsp + 0xc0]
jmp 0x140015d7a
jmp 0x140015d6a
mov rax, qword [rsp + 0x110]
mov rdx, qword [rax + 0x98]
movzx ecx, byte [rsp + 0x50]
call fcn.140015d90
movzx eax, al
test eax, eax
je 0x140015d1e
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xfc], eax
jmp 0x140015d2a
call fcn.140006490
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0xc4], eax
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov eax, dword [rsp + 0xc4]
jmp 0x140015d7a
call fcn.140006490
mov dword [rsp + 0xc8], eax
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov eax, dword [rsp + 0xc8]
jmp 0x140015d7a
jmp 0x140015ad4
add rsp, 0x108
ret