Function at 0x14011d100
Capabilities:
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov rax, qword [0x140293028]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r13d, r8d
mov r12, rdx
mov r15, rcx
mov qword [rsp + 0x60], rcx
mov rdi, qword [rcx + 0x28]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x28]
mov rax, qword [rdx]
lea rdx, [rsp + 0xd0]
mov rcx, r12
mov rax, qword [rax + 0x80]
call qword [case.0x1400d90b6.0]
mov rdx, rax
mov rcx, rdi
mov rax, rbx
call qword [case.0x1400d90b6.0]
mov rdi, qword [r15 + 0x28]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x38]
mov rdx, qword [r12]
mov rax, qword [rdx + 0x88]
lea rdx, [rsp + 0xd0]
mov rcx, r12
call qword [case.0x1400d90b6.0]
mov rdx, rax
mov rcx, rdi
mov rax, rbx
call qword [case.0x1400d90b6.0]
mov rdi, qword [r15 + 0x28]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x48]
mov rdx, qword [r12]
mov rax, qword [rdx + 0x90]
lea rdx, [rsp + 0xd0]
mov rcx, r12
call qword [case.0x1400d90b6.0]
mov rdx, rax
mov rcx, rdi
mov rax, rbx
call qword [case.0x1400d90b6.0]
mov rdi, qword [r15 + 0x28]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x58]
mov rdx, qword [r12]
mov rax, qword [rdx + 0x98]
lea rdx, [rsp + 0x78]
mov rcx, r12
call qword [case.0x1400d90b6.0]
nop
mov rdx, rax
mov rcx, rdi
mov rax, rbx
call qword [case.0x1400d90b6.0]
nop
lea rcx, [rsp + 0x88]
call fcn.140010b20
mov rdi, qword [r15 + 0x30]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x10]
mov rdx, qword [r12]
mov rax, qword [rdx + 0x38]
lea rdx, [rsp + 0xd0]
mov rcx, r12
call qword [case.0x1400d90b6.0]
nop
mov rdx, rax
mov rcx, rdi
mov rax, rbx
call qword [case.0x1400d90b6.0]
nop
mov rcx, qword [rsp + 0xd0]
mov r14, qword [rcx + 8]
cmp byte [r14 + 0x19], 0
jne 0x14011d2c2
nop
mov r8, qword [r14 + 0x10]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0xd0]
call fcn.1400146a0
mov rsi, r14
mov r14, qword [r14]
lea rcx, [rsi + 0x80]
call fcn.140010cd0
lea rcx, [rsi + 0x60]
call fcn.140010cd0
lea rcx, [rsi + 0x40]
call fcn.140010cd0
lea rcx, [rsi + 0x20]
call fcn.140010cd0
mov edx, 0xa0
mov rcx, rsi
call fcn.1401853a0
cmp byte [r14 + 0x19], 0
je 0x14011d260
mov rcx, qword [rsp + 0xd0]
mov edx, 0xa0
call fcn.1401853a0
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x140]
call fcn.1401a8d80
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov ecx, 0x13c8
mov eax, dword [rcx + rbx]
mov edi, 0x13c0
test al, 1
jne 0x14011d313
or eax, 1
mov dword [rcx + rbx], eax
xor eax, eax
mov qword [rbx + rdi], rax
call fcn.140138a70
mov qword [rbx + rdi], rax
mov rax, qword [rbx + rdi]
mov qword [rsp + 0x140], rax
mov edi, 1
mov dword [rsp + 0x148], edi
lea rcx, [rsp + 0x150]
call fcn.14000f010
nop
mov rcx, qword [rsp + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400d90b6.0]
cmp dword [rsp + 0x148], eax
setl byte [rsp + 0x248]
jl 0x14011d4ba
lea rdx, str.Saving_state_to
lea rcx, [rsp + 0x140]
call fcn.1400128b0
lea rsi, [r15 + 8]
mov rdx, rsi
mov rcx, rax
call fcn.140021890
mov r14, rax
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
jb 0x14011d397
mov rsi, qword [rsi]
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14000b550
nop
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
mov r9d, 0xffffffff
lea r8d, [rbx + 3]
lea rdx, [rsp + 0xa8]
call fcn.140186c0c
mov ecx, eax
test eax, eax
jne 0x14011d426
mov edi, dword [rsp + 0xb8]
bt edi, 0xa
jae 0x14011d41b
mov eax, dword [rsp + 0xbc]
cmp eax, 0xa000000c
jne 0x14011d40d
lea edi, [rbx + 4]
jmp 0x14011d43c
cmp eax, 0xa0000003
jne 0x14011d41b
mov edi, 0xa
jmp 0x14011d43c
and edi, 0x10
or edi, 0x20
shr edi, 4
jmp 0x14011d43c
sub eax, 2
je 0x14011d43c
sub eax, 1
je 0x14011d43c
sub eax, 0x32
je 0x14011d43c
cmp eax, 0x46
je 0x14011d43c
mov edi, ebx
mov dword [rsp + 0xd0], ecx
lea rax, str.Py__
mov qword [rsp + 0xd8], rax
movaps xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0xd0], xmm0
test edi, edi
je 0x14011d46f
cmp edi, 1
setne dl
jmp 0x14011d479
xor dl, dl
test ecx, ecx
jne 0x14011d92a
lea rcx, [0x140206c9b]
lea rax, str.__new_file_
test dl, dl
cmovne rax, rcx
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.1400127b0
nop
lea rcx, [rsp + 0x40]
call fcn.140010b20
mov byte [rsp + 0x248], 1
jmp 0x14011d4bc
xor ebx, ebx
lea rcx, [rsp + 0x140]
call fcn.14000afe0
nop
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x140]
call fcn.1401a8d80
lea rcx, [rsp + 0x140]
call fcn.14000f010
nop
mov r8d, r13d
lea rdx, [rsp + 0x150]
mov rcx, r12
call fcn.140121420
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm0
lea rdi, [r15 + 8]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14011d53c
mov rdx, qword [rdi]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], 7
mov word [rsp + 0xa8], bx
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0xa8]
call fcn.14000b550
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xf0]
call fcn.14011c0c0
nop
mov qword [rsp + 0x138], 0xffffffffffffffff
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x40]
call fcn.14000fcc0
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
mov rcx, qword [rsp + 0x138]
cmp rcx, 0xffffffffffffffff
je 0x14011d5f1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov qword [rsp + 0x138], rsi
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14011d643
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011d636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14011d944
call fcn.1401853a0
mov rsi, qword [rsp + 0x138]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], bx
cmp rsi, 0xffffffffffffffff
je 0x14011d94a
lea rcx, [rsp + 0xa8]
call fcn.140010b20
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x158]
call fcn.140010a30
nop
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov dword [rsp + 0xd0], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0xd0]
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14011d986
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14011d6fd
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011d6f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14011d9c2
call fcn.1401853a0
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x14011d9c8
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x138], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x14011da01
lea rcx, [rsp + 0xf0]
call fcn.14011c2d0
nop
mov rcx, qword [rsp + 0x138]
cmp rcx, 0xffffffffffffffff
je 0x14011d758
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov qword [rsp + 0x138], 0xffffffffffffffff
cmp byte [rsp + 0x130], 0
jne 0x14011d7a2
lea rcx, [rsp + 0x110]
cmp qword [rsp + 0x128], 8
cmovae rcx, qword [rsp + 0x110]
call fcn.140186fa4
mov rcx, qword [rsp + 0x138]
cmp rcx, 0xffffffffffffffff
je 0x14011d7a2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rsp + 0xf0]
call fcn.14011c270
nop
lea rcx, [rsp + 0x140]
call fcn.14000b0a0
nop
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14011d7cb
mov rdx, qword [rdi]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], 7
mov word [rsp + 0xa8], bx
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0xa8]
call fcn.14000b550
nop
lea rcx, [rsp + 0xa8]
call fcn.14000a7a0
movzx ebx, al
lea rcx, [rsp + 0xa8]
call fcn.140010b20
test bl, bl
jne 0x14011d8bd
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x140]
call fcn.1401a8d80
call fcn.140138af0
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x148], 2
lea rcx, [rsp + 0x150]
call fcn.14000f010
nop
mov rcx, qword [rsp + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400d90b6.0]
cmp dword [rsp + 0x148], eax
setl byte [rsp + 0x248]
jl 0x14011d8ae
lea rdx, str.State_file_was_not_created
lea rcx, [rsp + 0x140]
call fcn.1400122e0
mov rdx, rdi
mov rcx, rax
call fcn.140021890
mov byte [rsp + 0x248], 1
lea rcx, [rsp + 0x140]
call fcn.14000afe0
jmp 0x14011d905
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x14011d8cb
mov rdi, qword [rdi]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xa8]
call fcn.140017d70
lea rcx, [rsp + 0xa8]
call fcn.14011ca50
lea rcx, [rsp + 0xa8]
call fcn.140010b20
mov al, 1
jmp 0x14011d907
xor al, al
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140185380
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0xd0]
lea rcx, str.exists
call fcn.14000a6d0
nop
call fcn.1401b3c00
int3
lea rcx, [rsp + 0xf0]
call fcn.14011c2c0
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.140065230
nop
mov r8, rax
lea rdx, str.Cannot_create_temp_file
lea rcx, [rsp + 0x78]
call fcn.140011b70
nop
mov rcx, rax
call fcn.140030650
nop
lea rcx, [rsp + 0xf0]
call fcn.14011c2c0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140065230
nop
mov r8, rax
lea rdx, str.Failure_writing_to_temp_file
lea rcx, [rsp + 0xa8]
call fcn.140011b70
nop
mov rcx, rax
call fcn.140030650
nop
call fcn.1401b3c00
int3
lea rcx, [rsp + 0xf0]
call fcn.14011c2c0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140065230
nop
mov r8, rax
lea rdx, str.Failure_flushing_temp_file
lea rcx, [rsp + 0x40]
call fcn.140011b70
nop
mov rcx, rax
call fcn.140030650
nop
lea rdx, str.Close_FileHandle__failed
lea rcx, [rsp + 0x40]
call fcn.140010040
nop
lea rcx, [rsp + 0x40]
call fcn.140030650
int3