Function at 0x18012f98c
Capabilities:
Write file on windows

Disassembly:
push rbp
xchg bpl, bpl
push rbx
movsxd rbx, ebx
sar rbp, 0x94
push rsi
and sil, 0x19
and sil, bpl
push rdi
btr si, r8w
clc
shr bh, 0x2a
push r12
setle bl
push r13
bts bx, bp
push r14
push r15
mov rbp, rsp
btc bx, 0xfa
sub rsp, 0x78
xor edi, edi
mov r14d, r8d
xchg esi, r15d
movzx rsi, r11w
movsxd r15, ecx
rcl rsi, cl
movsx rbx, r8w
mov rbx, r9
mov rsi, rdx
cmp r14b, bl
test cl, r8b
test r8d, r8d
jmp 0x18012f9f0
je 0x18012ff3f
test rdx, rdx
jne 0x18012fa57
mov byte [r9 + 0x38], 1
cmp ah, 0x6d
cmp sil, dl
test ebx, 0x7d50564b
sub r8d, r8d
cmp rbx, r8
mov dword [r9 + 0x34], edi
xor edx, edx
stc
mov byte [r9 + 0x30], 1
cmc
sub ecx, ecx
mov dword [r9 + 0x2c], 0x16
clc
xor r9d, r9d
jmp 0x18012fa36
mov qword [rsp + 0x28], rbx
jmp 0x18012fa40
mov qword [rsp + 0x20], rdi
jmp 0x18012fa4a
call fcn.180121bac
or eax, 0xffffffff
jmp 0x18012ff41
mov rax, r15
movzx r13w, r12b
jmp 0x18012fa67
lea rcx, [0x18007bb50]
bts r12, r15
and eax, 0x3f
bsr r13w, r13w
bts r13w, di
xor r12w, r11w
mov r12, r15
adc r13w, dx
sar r12, 6
mov qword [rbp - 0x18], r12
movsx r13d, r9w
lea r13, [rax + rax*8]
inc al
mov al, 0x40
mov rcx, qword [rcx + r12*8]
mov al, byte [rcx + r13*8 + 0x39]
jmp 0x18012faac
mov byte [rbp - 0x48], al
dec al
test sil, r12b
cmp al, 1
jmp 0x18012fabb
ja 0x18012fad2
mov eax, r14d
not eax
test dh, 0xd2
clc
test al, 1
je 0x18012f9ff
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x18012fadd
je 0x18012fb0b
xor edx, edx
mov r8, 0x756b7e32
seto ch
mov ecx, r15d
movzx r8d, si
bswap r8d
movsx r8d, r8w
lea r8d, [rdx + 2]
jmp 0x18012fb06
call fcn.180085778
mov ecx, r15d
jmp 0x18012fb13
mov qword [rbp - 0x30], rdi
call fcn.180130183
lea rdx, [0x18007bb50]
test eax, eax
jmp 0x18012fb2a
je 0x18012fd26
mov rax, qword [rdx + r12*8]
cmp al, r8b
jmp 0x18012fb3c
cmp byte [rax + r13*8 + 0x38], dil
jmp 0x18012fb46
jge 0x18012fd26
cmp byte [rbx + 0x28], dil
jmp 0x18012fb55
jne 0x18012fb6f
mov rcx, rbx
jmp 0x18012fb63
call fcn.180124201
lea rdx, [0x18007bb50]
mov rax, qword [rbx + 0x18]
clc
cmp qword [rax + 0x138], rdi
jne 0x18012fb95
mov rax, qword [rdx + r12*8]
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x18012fb8f
je 0x18012fd26
mov rcx, qword [rdx + r12*8]
lea rdx, [rbp - 0x20]
jmp 0x18012fba2
mov rcx, qword [rcx + r13*8 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x18012fbb4
je 0x18012fd1b
movsx ecx, byte [rbp - 0x48]
cmp sil, r9b
test ecx, ecx
jmp 0x18012fbc8
je 0x18012fcda
sub ecx, 1
jmp 0x18012fbd6
je 0x18012fbea
cmp ecx, 1
jmp 0x18012fbe4
jne 0x18012fe5b
lea r12, [rsi + r14]
xchg r15d, r15d
mov qword [rbp - 0x40], rdi
stc
rol r15b, cl
xchg r15b, r15b
mov r15, rsi
cmp r14b, sil
test r10b, 0x15
jmp 0x18012fc0b
cmp rsi, r12
jmp 0x18012fc13
jae 0x18012fccc
mov r14d, dword [rbp - 0x3c]
lahf
jmp 0x18012fc23
movzx eax, word [r15]
movsx cx, spl
jmp 0x18012fc35
movzx ecx, ax
mov word [rbp - 0x48], ax
jmp 0x18012fc41
call fcn.1801307b3
movzx ecx, word [rbp - 0x48]
cmp ax, cx
jne 0x18012fcc0
add r14d, 2
test bl, r13b
mov dword [rbp - 0x3c], r14d
stc
test bpl, 0x9d
cmp cx, 0xa
jmp 0x18012fc6c
jne 0x18012fcae
mov ecx, 0xd
jmp 0x18012fc7c
call fcn.1801307b3
mov ecx, 0xd
cmp bpl, bl
cmp ax, cx
jmp 0x18012fc91
jne 0x18012fcc0
inc r14d
jmp 0x18012fc9f
mov dword [rbp - 0x3c], r14d
jmp 0x18012fca8
inc edi
test r9w, bx
add r15, 2
cmp r15, r12
jae 0x18012fccc
jmp 0x18012fc23
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
not r12b
mov r12, qword [rbp - 0x18]
jmp 0x18012fcd5
jmp 0x18012fe47
mov r9d, r14d
movzx r8, ax
mov qword [rsp + 0x20], rbx
cmovbe ecx, r13d
mov cl, 0xb8
not r8b
mov r8, rsi
mov cl, 0x82
movsx cx, r11b
lea rcx, [rbp - 0x40]
mov edx, r15d
jmp 0x18012fd05
call fcn.18012e6dd
movsd xmm0, qword [rax]
mov edi, dword [rax + 8]
jmp 0x18012fd16
jmp 0x18012fe51
lea rdx, [0x18007bb50]
sbb cx, r12w
mov rcx, qword [rdx + r12*8]
cmp byte [rcx + r13*8 + 0x38], dil
jmp 0x18012fd34
jge 0x18012fdce
movsx ecx, byte [rbp - 0x48]
test bpl, sil
test ecx, ecx
je 0x18012fdad
sub ecx, 1
jmp 0x18012fd51
je 0x18012fd8b
cmp ecx, 1
jmp 0x18012fd5f
jne 0x18012fe66
mov r9d, r14d
movzx r8d, r10w
lea rcx, [rbp - 0x40]
mov r8, rsi
mov dl, 0x4f
movzx rdx, r13w
mov edx, r15d
jmp 0x18012fd81
call fcn.18012f1e2
jmp 0x18012fd0a
mov r9d, r14d
movzx r8d, r13w
cmovle cx, dx
lea rcx, [rbp - 0x40]
bswap dx
mov r8, rsi
mov edx, r15d
call fcn.18012f418
jmp 0x18012fd0a
mov r9d, r14d
cmove dx, bp
lea rcx, [rbp - 0x40]
mov r8, rsi
mov dx, 0x2d49
cqo
mov edx, r15d
call fcn.18012ef9d
jmp 0x18012fd0a
mov rcx, qword [rcx + r13*8 + 0x28]
movzx r9d, di
add rdx, rbp
or r8d, r10d
lea r9, [rbp - 0x3c]
test r10, 0x27e85f76
cmp r12w, r13w
btc r8w, si
sub eax, eax
or edx, ebx
adc rdx, 0x350f5953
mov r8d, r14d
shr dl, 0x11
movsxd rdx, edx
rcr dh, cl
and qword [rsp + 0x20], rax
cqo
mov rdx, rsi
jmp 0x18012fe16
mov qword [rbp - 0x40], rax
jmp 0x18012fe1f
mov dword [rbp - 0x38], eax
jmp 0x18012fe27
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x18012fe44
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
add ah, 0xa8
sub rax, rsi
mov edi, dword [rbp - 0x38]
movsd xmm0, qword [rbp - 0x40]
bsr ax, r15w
movsd qword [rbp - 0x30], xmm0
btc dx, 0x7c
lea rdx, [0x18007bb50]
sbb al, 0x54
shl eax, cl
mov rax, qword [rbp - 0x30]
shr rax, 0x20
clc
jmp 0x18012fe74
test eax, eax
jmp 0x18012fe7b
jne 0x18012ff32
mov eax, dword [rbp - 0x30]
test al, cl
stc
test eax, eax
je 0x18012feda
cmp eax, 5
jmp 0x18012fe97
jne 0x18012fec3
mov byte [rbx + 0x30], 1
mov dword [rbx + 0x2c], 9
jmp 0x18012fead
mov byte [rbx + 0x38], 1
jmp 0x18012feb6
mov dword [rbx + 0x34], eax
jmp 0x18012febe
jmp 0x18012fa4f
mov ecx, dword [rbp - 0x30]
cwd
mov rdx, rbx
jmp 0x18012fed0
call fcn.1801255e6
jmp 0x18012fa4f
mov rax, qword [rdx + r12*8]
test r15b, r15b
cmc
jmp 0x18012fee7
test byte [rax + r13*8 + 0x38], 0x40
jmp 0x18012fef2
je 0x18012ff06
cmp byte [rsi], 0x1a
jmp 0x18012ff00
je 0x18012ff3f
and dword [rbx + 0x34], 0
jmp 0x18012ff0f
mov byte [rbx + 0x30], 1
jmp 0x18012ff18
mov dword [rbx + 0x2c], 0x1c
jmp 0x18012ff24
mov byte [rbx + 0x38], 1
jmp 0x18012ff2d
jmp 0x18012fa4f
mov eax, dword [rbp - 0x2c]
cmc
test ebx, eax
sub eax, edi
jmp 0x18012ff41
xor eax, eax
add rsp, 0x78
pop r15
cmova r12w, r13w
pop r14
jmp 0x18012ff53
pop r13
pop r12
pop rdi
movsxd rbp, esi
mov ebp, 0x51ad6c57
setns sil
pop rsi
not bpl
mov bh, 0x60
setge bpl
pop rbx
pop rbp
jmp 0x18012ff76
ret