Function at 0x180141a7f
Capabilities:
Write file on windows

Disassembly:
push rbp
neg bpl
adc bpl, r9b
mov bpl, 0xe8
push rbx
not bl
sal bx, 0xe2
push rsi
setne sil
test eax, 0x4d1e539f
push rdi
push r12
movsxd rbx, esp
cmovnp esi, esp
adc bx, r15w
push r13
add sil, r10b
push r14
xor sil, 0xf3
btc r14w, r12w
movsx esi, sp
push r15
movzx ebx, r10w
mov rbp, rsp
movsx r15w, cl
sub rsp, 0x78
xor r15b, 0x77
ror si, cl
sub edi, edi
test dh, 0xdd
mov r14d, r8d
inc sil
movsxd r15, ecx
mov rbx, r9
and si, sp
stc
mov rsi, rdx
test dh, 0x27
test r8d, r8d
jmp 0x180141af7
je 0x180142066
test rdx, rdx
jmp 0x180141b05
jne 0x180141b5e
mov byte [r9 + 0x38], 1
stc
sub r8d, r8d
test r12b, r9b
mov dword [r9 + 0x34], edi
cmp dx, 0x4a48
xor edx, edx
test r15b, 0xce
test r14b, r9b
mov byte [r9 + 0x30], 1
sub ecx, ecx
cmc
mov dword [r9 + 0x2c], 0x16
cmc
xor r9d, r9d
mov qword [rsp + 0x28], rbx
jmp 0x180141b47
mov qword [rsp + 0x20], rdi
call fcn.180133cbb
or eax, 0xffffffff
jmp 0x180141b59
jmp 0x180142068
mov rax, r15
mov r12w, r10w
xadd r12b, cl
rcr r12w, 0x5b
lea rcx, [0x180087a10]
sar r12b, cl
rcl r12b, cl
and eax, 0x3f
movsx r12, r11w
cmp r11b, dil
rcl r12w, 0xe1
mov r12, r15
setle r13b
sar r12, 6
mov r13w, r11w
xchg r13w, r13w
mov qword [rbp - 0x18], r12
mov r13b, r10b
lea r13, [rax + rax*8]
sets al
mov rcx, qword [rcx + r12*8]
mov al, 0x98
mov al, r8b
mov al, byte [rcx + r13*8 + 0x39]
mov byte [rbp - 0x48], al
jmp 0x180141bc1
dec al
cmp al, 1
ja 0x180141be6
mov eax, r14d
not eax
jmp 0x180141bd9
test al, 1
jmp 0x180141be0
je 0x180141b0b
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x180141bf1
je 0x180141c19
sub edx, edx
mov ecx, r8d
cmovbe cx, r15w
setne cl
mov ecx, r15d
not r8w
lea r8d, [rdx + 2]
jmp 0x180141c14
call fcn.180090c32
mov ecx, r15d
jmp 0x180141c21
mov qword [rbp - 0x30], rdi
jmp 0x180141c2a
call fcn.1801422a9
lea rdx, [0x180087a10]
cmp r12, rsp
cmc
test eax, eax
jmp 0x180141c41
je 0x180141e5e
mov rax, qword [rdx + r12*8]
cmc
cmp byte [rax + r13*8 + 0x38], dil
jge 0x180141e5e
cmp byte [rbx + 0x28], dil
jmp 0x180141c60
jne 0x180141c79
mov rcx, rbx
call fcn.180136266
lea rdx, [0x180087a10]
stc
bswap ax
mov rax, qword [rbx + 0x18]
test cx, r12w
cmp bpl, r9b
cmp qword [rax + 0x138], rdi
jmp 0x180141c90
jne 0x180141cb3
mov rax, qword [rdx + r12*8]
test si, r15w
jmp 0x180141ca3
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x180141cad
je 0x180141e5e
mov rcx, qword [rdx + r12*8]
xchg dx, dx
cqo
lea rdx, [rbp - 0x20]
jmp 0x180141cc5
mov rcx, qword [rcx + r13*8 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x180141cd7
je 0x180141e4e
movsx ecx, byte [rbp - 0x48]
cmp dh, 0xd1
test ecx, ecx
jmp 0x180141ceb
je 0x180141e0c
sub ecx, 1
jmp 0x180141cf9
je 0x180141d0d
cmp ecx, 1
jmp 0x180141d07
jne 0x180141f96
lea r12, [rsi + r14]
mov qword [rbp - 0x40], rdi
movzx r15w, al
btr r15d, r9d
movsx r15, si
mov r15, rsi
cmp bh, 0x27
test rbp, 0x35986c34
cmp rsi, r12
jmp 0x180141d37
jae 0x180141dfe
mov r14d, dword [rbp - 0x3c]
not ch
cmove eax, ebp
movzx rcx, dx
movzx eax, word [r15]
not cx
movzx ecx, ax
jmp 0x180141d59
mov word [rbp - 0x48], ax
jmp 0x180141d62
call fcn.180142931
movzx ecx, word [rbp - 0x48]
test r12b, 0x9d
stc
clc
cmp ax, cx
jmp 0x180141d79
jne 0x180141df1
add r14d, 2
stc
cmp sp, 0x220d
mov dword [rbp - 0x3c], r14d
cmp cx, 0xa
jmp 0x180141d96
jne 0x180141dd9
mov ecx, 0xd
jmp 0x180141da6
call fcn.180142931
mov ecx, 0xd
test di, r11w
cmp eax, r9d
cmp ax, cx
jmp 0x180141dbf
jne 0x180141df1
inc r14d
jmp 0x180141dcd
mov dword [rbp - 0x3c], r14d
jmp 0x180141dd6
inc edi
cmc
add r15, 2
cmc
cmp r15, r12
jmp 0x180141de6
jae 0x180141dfe
jmp 0x180141d4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
movzx r12, ax
mov r12, qword [rbp - 0x18]
jmp 0x180141e07
jmp 0x180141f87
mov r9d, r14d
mov qword [rsp + 0x20], rbx
xchg r8d, edx
setnp ch
mov r8, rsi
bswap edx
movsx edx, di
mov cl, al
lea rcx, [rbp - 0x40]
cqo
movzx dx, dh
mov edx, r15d
call fcn.180140759
movsd xmm0, qword [rax]
cmovs edi, r12d
not di
mov edi, dword [rax + 8]
jmp 0x180141e49
jmp 0x180141f8c
lea rdx, [0x180087a10]
test r8, rcx
cmp r9b, 0xc6
inc ecx
mov rcx, qword [rdx + r12*8]
cmp byte [rcx + r13*8 + 0x38], dil
jmp 0x180141e6c
jge 0x180141f30
movsx ecx, byte [rbp - 0x48]
clc
jmp 0x180141e7c
test ecx, ecx
jmp 0x180141e83
je 0x180141eff
sub ecx, 1
jmp 0x180141e91
je 0x180141ecd
cmp ecx, 1
jmp 0x180141e9f
jne 0x180141fa1
mov r9d, r14d
setno ch
lea rcx, [rbp - 0x40]
movsx r8w, r15b
mov r8, rsi
movsx dx, ah
mov edx, r15d
jmp 0x180141ec3
call fcn.1801412aa
jmp 0x180141e36
mov r9d, r14d
mov cx, 0x4e3e
movzx cx, r10b
setg cl
lea rcx, [rbp - 0x40]
mov dl, 0xf
not dh
mov r8, rsi
movsx edx, r15w
cqo
mov edx, r15d
jmp 0x180141ef5
call fcn.180141500
jmp 0x180141e36
mov r9d, r14d
lea rcx, [rbp - 0x40]
movzx dx, r14b
not r8b
setne r8b
mov r8, rsi
mov dx, 0x7b72
setb dl
cqo
mov edx, r15d
jmp 0x180141f26
call fcn.1801410a4
jmp 0x180141e36
mov rcx, qword [rcx + r13*8 + 0x28]
lea r9, [rbp - 0x3c]
bsr r8, r8
xadd r8, r8
sub eax, eax
mov r8d, r14d
and qword [rsp + 0x20], rax
movsx rdx, r10w
mov rdx, rsi
jmp 0x180141f57
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], eax
jmp 0x180141f63
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x180141f70
jne 0x180141f83
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
xadd di, ax
mov edi, dword [rbp - 0x38]
cwde
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp - 0x30], xmm0
bt ax, 0xd
lea rdx, [0x180087a10]
rcr al, cl
or al, 0xcd
mov rax, qword [rbp - 0x30]
cmc
shr rax, 0x20
cmc
test eax, eax
jmp 0x180141fb2
jne 0x180142059
mov eax, dword [rbp - 0x30]
test eax, eax
jmp 0x180141fc2
je 0x180142019
cmp eax, 5
jmp 0x180141fd0
jne 0x180141ffc
mov byte [rbx + 0x30], 1
mov dword [rbx + 0x2c], 9
jmp 0x180141fe6
mov byte [rbx + 0x38], 1
jmp 0x180141fef
mov dword [rbx + 0x34], eax
jmp 0x180141ff7
jmp 0x180141b51
mov ecx, dword [rbp - 0x30]
movsx edx, r12w
not dh
xchg dh, dl
mov rdx, rbx
jmp 0x18014200f
call fcn.1801376a1
jmp 0x180141b51
mov rax, qword [rdx + r12*8]
test byte [rax + r13*8 + 0x38], 0x40
je 0x180142037
cmp byte [rsi], 0x1a
jmp 0x180142031
je 0x180142066
and dword [rbx + 0x34], 0
mov byte [rbx + 0x30], 1
mov dword [rbx + 0x2c], 0x1c
jmp 0x18014204b
mov byte [rbx + 0x38], 1
jmp 0x180142054
jmp 0x180141b51
mov eax, dword [rbp - 0x2c]
test ah, 7
sub eax, edi
jmp 0x180142068
xor eax, eax
add rsp, 0x78
cmovs rsi, rbp
movsx r14w, r14b
pop r15
not bp
movzx rbx, ax
pop r14
movzx ebp, r8w
pop r13
jmp 0x180142092
pop r12
pop rdi
mov bpl, al
movsx ebp, r13w
pop rsi
setbe bl
movsx rbx, dx
pop rbx
movsx bp, cl
pop rbp
ret