Function at 0x18012f20b
Capabilities:
Write file on windows

Disassembly:
push rbp
movsx bp, dl
test eax, r12d
push rbx
setae bpl
push rsi
push rdi
push r12
push r13
add sil, 0x94
and bl, r15b
push r14
rcl r14, cl
push r15
clc
test dil, r15b
cmp r9w, r12w
mov rbp, rsp
cmp r9d, 0x319e0129
sub rsp, 0x78
bswap r15w
cmc
sub edi, edi
movzx ebx, ax
mov r14d, r8d
movsxd r15, ecx
btc esi, r11d
mov rbx, r9
mov rsi, rdx
test r8d, r8d
jmp 0x18012f265
je 0x18012f7e4
test rdx, rdx
jmp 0x18012f273
jne 0x18012f2e0
mov byte [r9 + 0x38], 1
test r10w, 0x1f4d
cmp bp, bp
xor r8d, r8d
jmp 0x18012f293
mov dword [r9 + 0x34], edi
sub edx, edx
mov byte [r9 + 0x30], 1
cmc
sub ecx, ecx
test r13b, r8b
mov dword [r9 + 0x2c], 0x16
clc
cmp r14, 0x3d7358a5
cmp al, r10b
xor r9d, r9d
jmp 0x18012f2bf
mov qword [rsp + 0x28], rbx
jmp 0x18012f2c9
mov qword [rsp + 0x20], rdi
jmp 0x18012f2d3
call fcn.180121438
or eax, 0xffffffff
jmp 0x18012f7e6
mov rax, r15
lea rcx, [0x18007bb40]
movzx r13, r8w
xchg r12b, r12b
and eax, 0x3f
mov r12, r15
sar r12, 6
movsx r13, si
dec r13w
movzx r13w, r11b
mov qword [rbp - 0x18], r12
not r13
bswap r13
lea r13, [rax + rax*8]
mov rcx, qword [rcx + r12*8]
mov al, sil
mov al, 0x14
mov al, byte [rcx + r13*8 + 0x39]
mov byte [rbp - 0x48], al
jmp 0x18012f32c
dec al
cmp cl, r14b
jmp 0x18012f336
cmp al, 1
jmp 0x18012f33d
ja 0x18012f363
mov eax, r14d
cmc
test r14, rdx
test bh, 0x2f
not eax
test r14b, sil
cmp sil, 0xa9
test al, 1
jmp 0x18012f35d
je 0x18012f279
test byte [rcx + r13*8 + 0x38], 0x20
jmp 0x18012f36e
je 0x18012f38e
xor edx, edx
bswap ecx
mov ecx, r15d
movzx r8w, r13b
lea r8d, [rdx + 2]
jmp 0x18012f389
call fcn.1800882a4
mov ecx, r15d
mov qword [rbp - 0x30], rdi
jmp 0x18012f39a
call fcn.18012fa21
lea rdx, [0x18007bb40]
test r9b, 0x31
cmp ebp, 0x19854d3c
test eax, eax
jmp 0x18012f3b7
je 0x18012f5b8
mov rax, qword [rdx + r12*8]
cmp byte [rax + r13*8 + 0x38], dil
jmp 0x18012f3cb
jge 0x18012f5b8
cmp byte [rbx + 0x28], dil
jmp 0x18012f3da
jne 0x18012f3f5
mov rcx, rbx
jmp 0x18012f3e8
call fcn.180123ab2
lea rdx, [0x18007bb40]
stc
mov rax, qword [rbx + 0x18]
cmp r13b, 0xc7
clc
cmp qword [rax + 0x138], rdi
jmp 0x18012f40a
jne 0x18012f427
mov rax, qword [rdx + r12*8]
cmp bl, r8b
cmp byte [rax + r13*8 + 0x39], dil
jmp 0x18012f421
je 0x18012f5b8
mov rcx, qword [rdx + r12*8]
cqo
movzx dx, r8b
lea rdx, [rbp - 0x20]
jmp 0x18012f43b
mov rcx, qword [rcx + r13*8 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x18012f44d
je 0x18012f5a8
movsx ecx, byte [rbp - 0x48]
stc
cmc
test ecx, ecx
jmp 0x18012f460
je 0x18012f570
sub ecx, 1
je 0x18012f47d
cmp ecx, 1
jmp 0x18012f477
jne 0x18012f709
lea r12, [rsi + r14]
btc r15d, r13d
rcr r15b, cl
xor r15w, si
mov qword [rbp - 0x40], rdi
movsxd r15, edx
shl r15b, 0xe5
mov r15, rsi
test dl, 0x49
cmp rsi, r12
jmp 0x18012f4a5
jae 0x18012f562
mov r14d, dword [rbp - 0x3c]
xchg cl, ch
movzx eax, word [r15]
mov cl, r10b
movzx ecx, di
movzx ecx, ax
mov word [rbp - 0x48], ax
jmp 0x18012f4c7
call fcn.180130072
movzx ecx, word [rbp - 0x48]
jmp 0x18012f4d9
cmp ax, cx
jmp 0x18012f4e1
jne 0x18012f559
add r14d, 2
cmp r15d, 0x63c5356
clc
mov dword [rbp - 0x3c], r14d
cmp cx, 0xa
jmp 0x18012f500
jne 0x18012f541
mov ecx, 0xd
jmp 0x18012f510
call fcn.180130072
mov ecx, 0xd
cmp ax, cx
jmp 0x18012f522
jne 0x18012f559
inc r14d
jmp 0x18012f530
mov dword [rbp - 0x3c], r14d
jmp 0x18012f539
inc edi
cmp esp, 0x118b1a78
add r15, 2
cmp sp, 0x7ed1
stc
cmp r15, r12
jae 0x18012f562
jmp 0x18012f4b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov r12, qword [rbp - 0x18]
jmp 0x18012f56b
jmp 0x18012f6f7
mov r9d, r14d
mov qword [rsp + 0x20], rbx
jmp 0x18012f57d
mov r8, rsi
cmovl edx, ebp
movzx cx, r14b
movzx edx, bx
lea rcx, [rbp - 0x40]
mov edx, r15d
call fcn.18012deb4
movsd xmm0, qword [rax]
mov edi, dword [rax + 8]
jmp 0x18012f5a3
jmp 0x18012f6fc
lea rdx, [0x18007bb40]
xor cx, 0x6c6d
stc
movzx ecx, ax
mov rcx, qword [rdx + r12*8]
cmp edx, 0x163c573b
cmp byte [rcx + r13*8 + 0x38], dil
jge 0x18012f698
movsx ecx, byte [rbp - 0x48]
cmc
cmp r12d, ecx
test ecx, ecx
jmp 0x18012f5dc
je 0x18012f65f
sub ecx, 1
jmp 0x18012f5ea
je 0x18012f631
cmp ecx, 1
jmp 0x18012f5f8
jne 0x18012f713
mov r9d, r14d
movzx rcx, r13w
movsx dx, r9b
bswap edx
lea rcx, [rbp - 0x40]
cmovl r8w, ax
cdq
not edx
mov r8, rsi
movzx rdx, r9w
mov edx, r15d
jmp 0x18012f627
call fcn.18012ea08
jmp 0x18012f597
mov r9d, r14d
not dx
movsx ecx, r8w
bswap cx
lea rcx, [rbp - 0x40]
movzx r8w, dl
mov r8, rsi
not dh
movzx rdx, r9w
cwd
mov edx, r15d
call fcn.18012ec93
jmp 0x18012f597
mov r9d, r14d
seta r8b
cmovbe r8d, ebp
movsx r8w, bl
lea rcx, [rbp - 0x40]
mov r8, rbx
movzx r8, r11w
mov r8, rsi
cqo
movsx rdx, sp
movsxd rdx, r9d
mov edx, r15d
jmp 0x18012f68e
call fcn.18012e7f3
jmp 0x18012f597
mov rcx, qword [rcx + r13*8 + 0x28]
bt r8d, 0xac
cmovge r9, r15
lea r9, [rbp - 0x3c]
setae dl
sub eax, eax
rcl r8b, 0x73
mov r8d, r14d
add dl, 0x41
movsx rdx, cx
and dl, 0x79
and qword [rsp + 0x20], rax
mov rdx, rsi
jmp 0x18012f6cd
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], eax
jmp 0x18012f6d9
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x18012f6f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x40], eax
mov edi, dword [rbp - 0x38]
test bpl, 0x38
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp - 0x30], xmm0
and eax, 0x5f5d749a
ror dx, cl
lea rdx, [0x18007bb40]
btc eax, edx
mov rax, qword [rbp - 0x30]
cmp r8w, 0xa97
cmc
shr rax, 0x20
clc
jmp 0x18012f72f
test eax, eax
jmp 0x18012f736
jne 0x18012f7d4
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x18012f78f
cmp eax, 5
jmp 0x18012f74f
jne 0x18012f776
mov byte [rbx + 0x30], 1
jmp 0x18012f75e
mov dword [rbx + 0x2c], 9
mov byte [rbx + 0x38], 1
jmp 0x18012f76e
mov dword [rbx + 0x34], eax
jmp 0x18012f2d8
mov ecx, dword [rbp - 0x30]
cqo
not edx
mov rdx, rbx
jmp 0x18012f785
call fcn.180124e0c
jmp 0x18012f2d8
mov rax, qword [rdx + r12*8]
test byte [rax + r13*8 + 0x38], 0x40
jmp 0x18012f79e
je 0x18012f7b2
cmp byte [rsi], 0x1a
jmp 0x18012f7ac
je 0x18012f7e4
and dword [rbx + 0x34], 0
mov byte [rbx + 0x30], 1
jmp 0x18012f7bf
mov dword [rbx + 0x2c], 0x1c
mov byte [rbx + 0x38], 1
jmp 0x18012f7cf
jmp 0x18012f2d8
mov eax, dword [rbp - 0x2c]
test r12w, 0x62d0
sub eax, edi
jmp 0x18012f7e6
xor eax, eax
add rsp, 0x78
movzx r15w, sil
movsxd rdi, r11d
pop r15
movsx r13w, r8b
cmovp r13w, r8w
bswap r14d
pop r14
cmovb rbx, rsp
setnp bh
pop r13
xchg dil, sil
mov r12b, 0xc5
jmp 0x18012f817
pop r12
movzx edi, r10w
pop rdi
cmovbe ebx, ebp
pop rsi
movsxd rbx, r15d
movsx rbx, r10w
cmovae bp, r10w
pop rbx
not bp
movsxd rbp, r13d
pop rbp
jmp 0x18012f83b
ret