Function at 0x1404d6bc8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
cmp sil, 0x26
push rbp
rcr bpl, cl
push rsi
sar rbp, cl
push rdi
bsr di, ax
push r12
clc
rcr r12d, cl
push r13
push r14
mov bpl, 0x1f
sub di, 0x4e09
push r15
mov rbp, rsp
sal edi, 0xa2
sub rsp, 0x60
sal r14, cl
xor ebx, ebx
sbb r12, 0x53cc3797
mov r14d, r8d
shld r12w, r14w, 0xea
movsxd r12, ecx
btr di, bx
bts di, r13w
sbb edi, 0x147f6e77
mov rdi, rdx
test r14b, r15b
test r12b, 0x10
test r8d, r8d
je 0x1404d7127
test rdx, rdx
jmp 0x1404d6c3e
jne 0x1404d6c6d
call fcn.1404b1199
mov dword [rax], ebx
jmp 0x1404d6c50
call fcn.1404b1162
mov dword [rax], 0x16
call fcn.1404b1e49
or eax, 0xffffffff
jmp 0x1404d6c68
jmp 0x1404d712d
mov rax, r12
lea rcx, [0x1400ba940]
test sp, bx
bts r13, r9
and eax, 0x3f
sar esi, cl
or r15b, 0xb9
mov r13, r12
sar r15b, 0x84
sar r13, 6
shr r15w, cl
sar sil, 0xca
lea r15, [rax + rax*8]
and al, 0xc8
bts si, bp
test r10b, r13b
mov rcx, qword [rcx + r13*8]
btr ax, 0x95
movsx esi, byte [rcx + r15*8 + 0x39]
jmp 0x1404d6cbb
lea eax, [rsi - 1]
stc
cmp al, 1
jmp 0x1404d6cc6
ja 0x1404d6ceb
mov eax, r14d
jmp 0x1404d6cd5
not eax
stc
test r9w, 0x7793
test al, 1
jmp 0x1404d6ce5
je 0x1404d6c44
test byte [rcx + r15*8 + 0x38], 0x20
jmp 0x1404d6cf6
je 0x1404d6d1e
xor edx, edx
bswap r8w
setns r8b
movsxd r8, eax
mov ecx, r12d
setns r8b
lea r8d, [rdx + 2]
jmp 0x1404d6d19
call fcn.140125ea8
mov ecx, r12d
jmp 0x1404d6d26
mov qword [rbp - 0x20], rbx
jmp 0x1404d6d2f
call fcn.1404dcaf9
test eax, eax
je 0x1404d6f02
lea rax, [0x1400ba940]
mov rax, qword [rax + r13*8]
test r13b, 0xd
cmp byte [rax + r15*8 + 0x38], bl
jmp 0x1404d6d55
jge 0x1404d6f02
call fcn.1404c5377
mov rcx, qword [rax + 0x90]
cmp qword [rcx + 0x138], rbx
jmp 0x1404d6d73
jne 0x1404d6d8f
lea rax, [0x1400ba940]
mov rax, qword [rax + r13*8]
cmp byte [rax + r15*8 + 0x39], bl
je 0x1404d6f02
lea rax, [0x1400ba940]
mov rcx, qword [rax + r13*8]
movzx edx, r8w
not dl
bswap dx
lea rdx, [rbp - 0x10]
jmp 0x1404d6dac
mov rcx, qword [rcx + r15*8 + 0x28]
jmp 0x1404d6db6
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1404d6dc3
je 0x1404d6f02
test sil, sil
jmp 0x1404d6dd1
je 0x1404d6ec3
dec sil
test r8d, 0x729c01ab
cmp r10b, 0xc6
cmp sil, 1
jmp 0x1404d6dee
ja 0x1404d704f
lea r12, [rdi + r14]
sal r14d, cl
dec r14b
mov qword [rbp - 0x30], rbx
cmp r9, 0x741a2dda
btr r14, rsi
mov r14, rdi
cmp rdi, r12
jmp 0x1404d6e18
jae 0x1404d7039
mov esi, dword [rbp - 0x2c]
not cl
mov ax, 0x7545
movzx eax, word [r14]
movzx ecx, ax
jmp 0x1404d6e33
mov word [rbp - 0x10], ax
jmp 0x1404d6e3c
call fcn.1404e13e8
movzx ecx, word [rbp - 0x10]
clc
cmp ax, cx
jne 0x1404d6eb0
add esi, 2
test r9b, dl
stc
mov dword [rbp - 0x2c], esi
stc
cmc
cmp cx, 0xa
jmp 0x1404d6e64
jne 0x1404d6e98
mov ecx, 0xd
jmp 0x1404d6e74
call fcn.1404e13e8
mov ecx, 0xd
cmp ax, cx
jmp 0x1404d6e86
jne 0x1404d6eb0
inc esi
mov dword [rbp - 0x2c], esi
jmp 0x1404d6e96
inc ebx
add r14, 2
stc
cmp r14, r12
jmp 0x1404d6ea5
jae 0x1404d7039
jmp 0x1404d6e27
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
jmp 0x1404d6ebe
jmp 0x1404d7039
mov r9d, r14d
movsx cx, r8b
movzx edx, bx
lea rcx, [rbp - 0x30]
mov r8, rdi
movsx dx, r8b
not dl
mov edx, r12d
jmp 0x1404d6ee4
call fcn.1404d715f
movsd xmm0, qword [rax]
movsxd rbx, ebx
jmp 0x1404d6efa
mov ebx, dword [rax + 8]
jmp 0x1404d7048
lea rax, [0x1400ba940]
or cl, r13b
bt cx, dx
mov rcx, qword [rax + r13*8]
cmc
cmp byte [rcx + r15*8 + 0x38], bl
jmp 0x1404d6f1f
jge 0x1404d6fd3
mov ecx, esi
jmp 0x1404d6f33
test sil, sil
jmp 0x1404d6f3b
je 0x1404d6fb3
sub ecx, 1
jmp 0x1404d6f49
je 0x1404d6f8e
cmp ecx, 1
jmp 0x1404d6f57
jne 0x1404d704f
mov r9d, r14d
xchg ch, dl
movsx dx, r15b
lea rcx, [rbp - 0x30]
movzx r8d, r12w
mov r8, rdi
cqo
movsx dx, r8b
bswap dx
mov edx, r12d
jmp 0x1404d6f84
call fcn.1404d7d6b
jmp 0x1404d6ee9
mov r9d, r14d
not dx
lea rcx, [rbp - 0x30]
cqo
movsx r8w, bl
mov r8, rdi
movzx rdx, ax
mov edx, r12d
call fcn.1404d7fd2
jmp 0x1404d6ee9
mov r9d, r14d
lea rcx, [rbp - 0x30]
mov r8, rdi
jmp 0x1404d6fc6
mov edx, r12d
call fcn.1404d7b03
jmp 0x1404d6ee9
mov rcx, qword [rcx + r15*8 + 0x28]
lea r9, [rbp - 0x2c]
bts dx, bp
xor eax, eax
bsr r8d, esi
movsx edx, bp
cmp r9w, 0x7aa7
mov r8d, r14d
and qword [rsp + 0x20], rax
movsx edx, r15w
jmp 0x1404d7004
mov rdx, rdi
jmp 0x1404d700c
mov qword [rbp - 0x30], rax
jmp 0x1404d7015
mov dword [rbp - 0x28], eax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x1404d7025
jne 0x1404d7036
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
sal ah, cl
mov ebx, dword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x30]
xor ax, bx
movzx ax, r15b
inc al
movsd qword [rbp - 0x20], xmm0
cbw
mov rax, qword [rbp - 0x20]
shr rax, 0x20
cmc
test bp, r12w
test r9w, 0x68a0
test eax, eax
jmp 0x1404d7069
jne 0x1404d7117
mov eax, dword [rbp - 0x20]
cmc
cmp r15b, 0xbd
test eax, eax
je 0x1404d70c4
cmp eax, 5
jmp 0x1404d7087
jne 0x1404d70b2
call fcn.1404b1162
mov dword [rax], 9
jmp 0x1404d709d
call fcn.1404b1199
mov dword [rax], 5
jmp 0x1404d70ad
jmp 0x1404d6c60
mov ecx, dword [rbp - 0x20]
jmp 0x1404d70ba
call fcn.1404b11d4
jmp 0x1404d6c60
lea rax, [0x1400ba940]
mov rax, qword [rax + r13*8]
cmp cl, 0x67
test rax, 0x716c7958
test dil, r8b
test byte [rax + r15*8 + 0x38], 0x40
je 0x1404d70f5
cmp byte [rdi], 0x1a
jmp 0x1404d70ef
je 0x1404d7127
call fcn.1404b1162
mov dword [rax], 0x1c
jmp 0x1404d7105
call fcn.1404b1199
and dword [rax], 0
jmp 0x1404d7112
jmp 0x1404d6c60
mov eax, dword [rbp - 0x1c]
clc
cmp eax, 0x29c24921
sub eax, ebx
jmp 0x1404d712d
xor eax, eax
shl sil, 0x5e
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
movzx r12, r8w
mov bpl, 0x86
pop r14
pop r13
pop r12
cmovg bp, r13w
pop rdi
pop rsi
movsx bp, dl
mov ebp, 0x64eb4f1b
pop rbp
jmp 0x1404d715e
ret