Function at 0x18014791b
Capabilities:
Write file on windows

Disassembly:
push rbp
sar bpl, 0xbd
push rbx
rcl bpl, cl
rol bpl, cl
push rsi
cmp ch, 0x39
sub bh, 0xad
push rdi
rcl si, cl
push r12
bsf rbp, r9
ror bx, 0x32
push r13
push r14
rcl ebx, cl
rol rbx, 0x31
btr si, bp
push r15
sal r14b, cl
mov rbp, rsp
rcl esi, 0x67
sub rsp, 0x78
movsx si, r11b
sub edi, edi
bts bx, r8w
sbb r15w, si
mov r14d, r8d
and r15d, 0x2b82301c
cmc
bt bx, r13w
movsxd r15, ecx
xor bx, si
shrd bx, di, 0xea
mov rbx, r9
btc si, sp
mov rsi, rdx
stc
test r8d, r8d
jmp 0x180147998
je 0x180147f0a
test rdx, rdx
jne 0x180147a09
mov byte [r9 + 0x38], 1
test sil, r10b
cmc
test r15d, 0x2eaa0505
xor r8d, r8d
stc
jmp 0x1801479c0
mov dword [r9 + 0x34], edi
test ah, ch
xor edx, edx
cmc
cmp r12b, 0x25
mov byte [r9 + 0x30], 1
sub ecx, ecx
jmp 0x1801479dd
mov dword [r9 + 0x2c], 0x16
sub r9d, r9d
jmp 0x1801479ed
mov qword [rsp + 0x28], rbx
jmp 0x1801479f7
mov qword [rsp + 0x20], rdi
call fcn.1801228a3
or eax, 0xffffffff
jmp 0x180147f0f
mov rax, r15
btr ecx, r11d
lea rcx, [0x180088750]
movzx r13w, r10b
cmc
and eax, 0x3f
test sp, 0x5130
mov r12, r15
cmc
adc r13w, 0x2adc
sar r12, 6
cmovp r13w, r9w
mov r13b, r15b
mov qword [rbp - 0x18], r12
bswap r13
jmp 0x180147a4a
lea r13, [rax + rax*8]
mov rcx, qword [rcx + r12*8]
mov al, byte [rcx + r13*8 + 0x39]
jmp 0x180147a5c
mov byte [rbp - 0x48], al
jmp 0x180147a64
dec al
cmp al, 1
jmp 0x180147a6d
ja 0x180147a86
mov eax, r14d
cmc
not eax
test al, 1
jmp 0x180147a80
je 0x1801479a7
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x180147a91
je 0x180147aba
xor edx, edx
mov r8w, r14w
movzx r8, r13w
mov ecx, r15d
movsx r8, r12w
movzx r8d, bx
lea r8d, [rdx + 2]
jmp 0x180147ab5
call fcn.180099b40
mov ecx, r15d
jmp 0x180147ac2
mov qword [rbp - 0x30], rdi
jmp 0x180147acb
call fcn.180143675
lea rdx, [0x180088750]
stc
test eax, eax
jmp 0x180147adf
je 0x180147ccc
mov rax, qword [rdx + r12*8]
cmp al, 0x11
stc
cmp byte [rax + r13*8 + 0x38], dil
jmp 0x180147af6
jge 0x180147ccc
cmp byte [rbx + 0x28], dil
jmp 0x180147b05
jne 0x180147b1f
mov rcx, rbx
jmp 0x180147b13
call fcn.180122063
lea rdx, [0x180088750]
mov rax, qword [rbx + 0x18]
jmp 0x180147b2b
cmp qword [rax + 0x138], rdi
jmp 0x180147b37
jne 0x180147b51
mov rax, qword [rdx + r12*8]
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x180147b4b
je 0x180147ccc
mov rcx, qword [rdx + r12*8]
lea rdx, [rbp - 0x20]
jmp 0x180147b5e
mov rcx, qword [rcx + r13*8 + 0x28]
jmp 0x180147b68
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x180147b75
je 0x180147cc5
movsx ecx, byte [rbp - 0x48]
test si, si
test ecx, ecx
je 0x180147c84
sub ecx, 1
jmp 0x180147b92
je 0x180147ba1
cmp ecx, 1
jne 0x180147e1b
lea r12, [rsi + r14]
movsxd r15, r11d
btc r15, rdi
mov qword [rbp - 0x40], rdi
adc r15, 0x386939cf
mov r15, rsi
stc
clc
cmp rsi, r12
jmp 0x180147bc4
jae 0x180147c76
mov r14d, dword [rbp - 0x3c]
movzx eax, word [r15]
movsx rcx, bp
jmp 0x180147be0
movzx ecx, ax
mov word [rbp - 0x48], ax
jmp 0x180147bec
call fcn.18014934c
movzx ecx, word [rbp - 0x48]
cmp ax, cx
jmp 0x180147bfd
jne 0x180147c6d
add r14d, 2
cmp spl, bl
mov dword [rbp - 0x3c], r14d
cmp ecx, esi
cmp cx, 0xa
jmp 0x180147c19
jne 0x180147c52
mov ecx, 0xd
jmp 0x180147c29
call fcn.18014934c
mov ecx, 0xd
cmp ax, cx
jmp 0x180147c3b
jne 0x180147c6d
inc r14d
jmp 0x180147c49
mov dword [rbp - 0x3c], r14d
inc edi
cmp al, r8b
add r15, 2
stc
test spl, r14b
cmp r15, r12
jmp 0x180147c62
jae 0x180147c76
jmp 0x180147bce
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov r12, qword [rbp - 0x18]
jmp 0x180147c7f
jmp 0x180147e06
mov r9d, r14d
mov qword [rsp + 0x20], rbx
mov r8, rsi
xchg cl, ch
movzx ecx, bx
cdq
lea rcx, [rbp - 0x40]
mov dx, 0x6eb3
movsxd rdx, r9d
cmove rdx, r8
mov edx, r15d
jmp 0x180147cac
call fcn.1801465b0
movsd xmm0, qword [rax]
movsx edi, sp
mov edi, dword [rax + 8]
jmp 0x180147cc0
jmp 0x180147e0e
lea rdx, [0x180088750]
mov rcx, qword [rdx + r12*8]
test r12b, 0x25
cmp byte [rcx + r13*8 + 0x38], dil
jmp 0x180147cde
jge 0x180147d91
movsx ecx, byte [rbp - 0x48]
cmp ebx, edx
test r11b, 0x87
test spl, dil
test ecx, ecx
jmp 0x180147cf8
je 0x180147d69
sub ecx, 1
jmp 0x180147d06
je 0x180147d41
cmp ecx, 1
jmp 0x180147d14
jne 0x180147e27
mov r9d, r14d
lea rcx, [rbp - 0x40]
cwd
bswap dx
movzx edx, si
mov r8, rsi
movsx dx, bh
movzx rdx, r10w
mov edx, r15d
call fcn.180147130
jmp 0x180147cb1
mov r9d, r14d
cqo
mov cl, 0x73
lea rcx, [rbp - 0x40]
mov r8, rsi
cmovne edx, r11d
xchg dl, dh
mov dl, 0xee
mov edx, r15d
jmp 0x180147d5f
call fcn.180147396
jmp 0x180147cb1
mov r9d, r14d
movsx r8, r10w
lea rcx, [rbp - 0x40]
not dh
mov r8, rsi
movsx rdx, bx
xchg edx, edx
mov edx, r15d
jmp 0x180147d87
call fcn.180146eb6
jmp 0x180147cb1
mov rcx, qword [rcx + r13*8 + 0x28]
test r9w, r8w
not r9w
lea r9, [rbp - 0x3c]
shr dl, cl
jmp 0x180147daa
xor eax, eax
btc r8, rcx
movsx rdx, r12w
mov r8d, r14d
neg dl
test ebp, r15d
add dl, r13b
and qword [rsp + 0x20], rax
movsx rdx, r8w
cmovno edx, r13d
mov rdx, rsi
mov qword [rbp - 0x40], rax
jmp 0x180147dd8
mov dword [rbp - 0x38], eax
jmp 0x180147de0
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x180147df7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov edi, dword [rbp - 0x38]
shld dx, r10w, 0x7e
rcr ah, cl
bts ax, bp
movsd xmm0, qword [rbp - 0x40]
bsr eax, edi
movsd qword [rbp - 0x30], xmm0
movsx eax, r9w
btc eax, 0xc6
lea rdx, [0x180088750]
sbb eax, 0x4ae73cde
mov rax, qword [rbp - 0x30]
test r14b, r12b
cmp r11d, 0x50b772e7
shr rax, 0x20
jmp 0x180147e44
test eax, eax
jne 0x180147efb
mov eax, dword [rbp - 0x30]
test eax, eax
jmp 0x180147e56
je 0x180147ead
cmp eax, 5
jmp 0x180147e64
jne 0x180147e95
mov byte [rbx + 0x30], 1
jmp 0x180147e73
mov dword [rbx + 0x2c], 9
jmp 0x180147e7f
mov byte [rbx + 0x38], 1
jmp 0x180147e88
mov dword [rbx + 0x34], eax
jmp 0x180147e90
jmp 0x180147a01
mov ecx, dword [rbp - 0x30]
cdq
xchg dh, dl
mov rdx, rbx
jmp 0x180147ea3
call fcn.180126fe7
jmp 0x180147a01
mov rax, qword [rdx + r12*8]
cmp r8b, r11b
test r12w, 0x541
test byte [rax + r13*8 + 0x38], 0x40
jmp 0x180147ec5
je 0x180147ed4
cmp byte [rsi], 0x1a
je 0x180147f0a
and dword [rbx + 0x34], 0
jmp 0x180147edd
mov byte [rbx + 0x30], 1
jmp 0x180147ee6
mov dword [rbx + 0x2c], 0x1c
jmp 0x180147ef2
mov byte [rbx + 0x38], 1
jmp 0x180147a01
mov eax, dword [rbp - 0x2c]
sub eax, edi
jmp 0x180147f05
jmp 0x180147f0f
sub eax, eax
and r12b, bl
add rsp, 0x78
pop r15
movsxd rbp, esi
pop r14
movsx rbp, r14w
pop r13
pop r12
movsx rbx, r9w
pop rdi
movzx bp, r10b
movsx rbx, dx
movzx ebp, r14w
pop rsi
movsx ebp, dx
setle bh
pop rbx
movzx rbp, r13w
pop rbp
jmp 0x180147f46
ret