Function at 0x18014716c
Capabilities:
Write file on windows

Disassembly:
push rbp
movsxd rbp, ebp
push rbx
test r9b, 0xdb
movzx bp, r11b
push rsi
push rdi
push r12
sbb sil, 0xd
push r13
movsx rbp, r11w
or si, 0x276e
push r14
sbb si, di
add ebp, r10d
shl bl, cl
push r15
movsx r14w, dl
bt r15w, 0x1d
movzx rbx, r11w
mov rbp, rsp
sub rsp, 0x78
movzx r14d, cx
sub edi, edi
mov r14d, r8d
xor bh, 0x2b
neg r15w
movsx r15w, dil
movsxd r15, ecx
sbb bl, bl
mov rbx, r9
sal sil, 0xba
btc si, r13w
mov rsi, rdx
test r8d, r8d
je 0x180147763
test rdx, rdx
jmp 0x1801471ea
jne 0x180147248
mov byte [r9 + 0x38], 1
xor r8d, r8d
mov dword [r9 + 0x34], edi
stc
cmp r11w, 0x2105
sub edx, edx
test r14w, 0x7564
mov byte [r9 + 0x30], 1
jmp 0x180147215
xor ecx, ecx
mov dword [r9 + 0x2c], 0x16
xor r9d, r9d
jmp 0x180147227
mov qword [rsp + 0x28], rbx
jmp 0x180147231
mov qword [rsp + 0x20], rdi
call fcn.180139253
or eax, 0xffffffff
jmp 0x180147243
jmp 0x180147770
mov rax, r15
lea rcx, [0x180089a20]
bswap r12w
movsx r12d, r9w
and eax, 0x3f
inc r12b
mov r12w, r12w
mov r12, r15
btc r13w, 0xf3
bsr r13d, edx
sar r12, 6
inc r13b
not r13b
cmovb r13, rdi
mov qword [rbp - 0x18], r12
bswap r13w
movsx r13d, sp
lea r13, [rax + rax*8]
inc al
xchg al, al
dec al
mov rcx, qword [rcx + r12*8]
setp al
xchg al, al
mov al, byte [rcx + r13*8 + 0x39]
jmp 0x1801472a8
mov byte [rbp - 0x48], al
dec al
stc
test dh, 0xc7
test bl, r13b
cmp al, 1
jmp 0x1801472bb
ja 0x1801472d3
mov eax, r14d
not eax
test al, 1
jmp 0x1801472cd
je 0x1801471f0
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x1801472de
je 0x180147304
sub edx, edx
bswap ecx
mov ecx, r15d
mov r8b, spl
not r8w
bswap r8w
lea r8d, [rdx + 2]
jmp 0x1801472ff
call fcn.180091d0e
mov ecx, r15d
jmp 0x18014730c
mov qword [rbp - 0x30], rdi
jmp 0x180147315
call fcn.18014799d
lea rdx, [0x180089a20]
test eax, eax
jmp 0x180147328
je 0x180147548
mov rax, qword [rdx + r12*8]
cmp byte [rax + r13*8 + 0x38], dil
jmp 0x18014733c
jge 0x180147548
cmp byte [rbx + 0x28], dil
jne 0x180147360
mov rcx, rbx
jmp 0x180147354
call fcn.18013b8b9
lea rdx, [0x180089a20]
mov rax, qword [rbx + 0x18]
cmp qword [rax + 0x138], rdi
jmp 0x180147370
jne 0x18014738b
mov rax, qword [rdx + r12*8]
stc
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x180147385
je 0x180147548
mov rcx, qword [rdx + r12*8]
movzx edx, r15w
setb dl
lea rdx, [rbp - 0x20]
jmp 0x18014739f
mov rcx, qword [rcx + r13*8 + 0x28]
jmp 0x1801473a9
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1801473b6
je 0x180147535
movsx ecx, byte [rbp - 0x48]
jmp 0x1801473c5
test ecx, ecx
jmp 0x1801473cc
je 0x1801474f9
sub ecx, 1
jmp 0x1801473da
je 0x1801473ee
cmp ecx, 1
jmp 0x1801473e8
jne 0x18014767c
lea r12, [rsi + r14]
cmp r13b, 0xb5
movsx r15, r9w
mov qword [rbp - 0x40], rdi
stc
mov r15w, 0x3ea2
mov r15, rsi
clc
cmp r14b, 0x5e
stc
cmp rsi, r12
jmp 0x180147415
jae 0x1801474eb
mov r14d, dword [rbp - 0x3c]
movsx rax, r14w
movsx eax, r13w
movzx eax, cx
movzx eax, word [r15]
bswap cx
seta cl
movzx ecx, r12w
movzx ecx, ax
jmp 0x180147440
mov word [rbp - 0x48], ax
jmp 0x180147449
call fcn.180147fee
movzx ecx, word [rbp - 0x48]
cmp rax, 0x566b20b7
test r11b, 0x52
cmp ax, cx
jmp 0x180147465
jne 0x1801474da
add r14d, 2
test dil, 0x5b
mov dword [rbp - 0x3c], r14d
stc
cmp dh, 0x76
cmp cx, 0xa
jne 0x1801474bd
mov ecx, 0xd
jmp 0x18014748f
call fcn.180147fee
mov ecx, 0xd
cmp spl, 0xa1
test r8w, r10w
cmp ax, cx
jmp 0x1801474a9
jne 0x1801474da
inc r14d
mov dword [rbp - 0x3c], r14d
jmp 0x1801474bb
inc edi
add r15, 2
test r13w, 0x3a51
cmp r15, r12
jmp 0x1801474cf
jae 0x1801474eb
jmp 0x18014742a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
jmp 0x1801474eb
mov r12, qword [rbp - 0x18]
jmp 0x1801474f4
jmp 0x180147666
mov r9d, r14d
cwd
mov qword [rsp + 0x20], rbx
mov r8, rsi
not cx
mov cx, r15w
lea rcx, [rbp - 0x40]
jmp 0x18014751c
mov edx, r15d
call fcn.180145e22
movsd xmm0, qword [rax]
mov edi, dword [rax + 8]
jmp 0x180147530
jmp 0x180147671
lea rdx, [0x180089a20]
sbb cl, 0x52
shld rcx, r15, 0x1a
movsx ecx, r13w
mov rcx, qword [rdx + r12*8]
stc
test r11b, dil
clc
cmp byte [rcx + r13*8 + 0x38], dil
jge 0x1801475fb
movsx ecx, byte [rbp - 0x48]
test r12b, 0xae
cmc
test ecx, ecx
jmp 0x18014756c
je 0x1801475d5
sub ecx, 1
jmp 0x18014757a
je 0x1801475b6
cmp ecx, 1
jne 0x180147683
mov r9d, r14d
movzx cx, r9b
lea rcx, [rbp - 0x40]
cwd
movzx edx, dx
mov r8w, bx
mov r8, rsi
cqo
cdq
mov edx, r15d
jmp 0x1801475ac
call fcn.1801469aa
jmp 0x180147524
mov r9d, r14d
xchg rcx, rcx
lea rcx, [rbp - 0x40]
mov r8, rsi
mov edx, r15d
jmp 0x1801475cb
call fcn.180146c12
jmp 0x180147524
mov r9d, r14d
movsxd rcx, r11d
movsx r8d, r15w
setle ch
lea rcx, [rbp - 0x40]
mov r8, rsi
mov edx, r15d
jmp 0x1801475f1
call fcn.180146760
jmp 0x180147524
mov rcx, qword [rcx + r13*8 + 0x28]
sar r8w, 0x3f
bt r8, r10
lea r9, [rbp - 0x3c]
rol r8d, 0xf7
stc
sub eax, eax
movzx r8d, bx
shld dx, bp, 0x7a
mov r8d, r14d
cqo
not dx
xadd dx, dx
and qword [rsp + 0x20], rax
mov rdx, rsi
jmp 0x180147636
mov qword [rbp - 0x40], rax
jmp 0x18014763f
mov dword [rbp - 0x38], eax
jmp 0x180147647
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180147654
jne 0x180147663
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov edi, dword [rbp - 0x38]
movsd xmm0, qword [rbp - 0x40]
shl dl, 0x6f
or al, r8b
movsd qword [rbp - 0x30], xmm0
shl ah, 0xf
add al, bpl
lea rdx, [0x180089a20]
mov rax, qword [rbp - 0x30]
clc
shr rax, 0x20
test r8b, sil
stc
cmp dl, 0xfd
test eax, eax
jmp 0x18014769a
jne 0x18014774f
mov eax, dword [rbp - 0x30]
cmc
stc
jmp 0x1801476aa
test eax, eax
jmp 0x1801476b1
je 0x180147705
cmp eax, 5
jmp 0x1801476bf
jne 0x1801476eb
mov byte [rbx + 0x30], 1
jmp 0x1801476ce
mov dword [rbx + 0x2c], 9
jmp 0x1801476da
mov byte [rbx + 0x38], 1
mov dword [rbx + 0x34], eax
jmp 0x1801476e6
jmp 0x18014723b
mov ecx, dword [rbp - 0x30]
movzx dx, r9b
mov rdx, rbx
jmp 0x1801476fb
call fcn.18013cc33
jmp 0x18014723b
mov rax, qword [rdx + r12*8]
test byte [rax + r13*8 + 0x38], 0x40
jmp 0x180147714
je 0x180147728
cmp byte [rsi], 0x1a
jmp 0x180147722
je 0x180147763
and dword [rbx + 0x34], 0
mov byte [rbx + 0x30], 1
jmp 0x180147735
mov dword [rbx + 0x2c], 0x1c
jmp 0x180147741
mov byte [rbx + 0x38], 1
jmp 0x18014774a
jmp 0x18014723b
mov eax, dword [rbp - 0x2c]
cmc
cmp r9b, 0x8c
sub eax, edi
jmp 0x18014775e
jmp 0x180147770
xor eax, eax
movsx rsi, ax
sbb dil, 0x23
sar bpl, cl
add rsp, 0x78
pop r15
setne r12b
pop r14
jmp 0x180147788
pop r13
setp bpl
movsxd rsi, r8d
cmovs rbx, r14
pop r12
movzx ebx, r11w
pop rdi
pop rsi
cmovns bx, r11w
jmp 0x1801477ab
pop rbx
bswap ebp
mov ebp, 0x45131fc9
jmp 0x1801477b8
pop rbp
jmp 0x1801477be
ret