Function at 0x1404d4222
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
jmp 0x1404d4239
push rbp
bswap bp
push rsi
stc
cmovae bp, r10w
push rdi
test r8w, ax
push r12
stc
push r13
or bpl, 0x9c
test cl, r9b
push r14
bts r12w, r12w
movsx rdi, bp
push r15
shr r14, 0xb1
mov rbp, rsp
sub dil, r9b
setg r12b
sub rsp, 0x60
rol r12w, cl
sub dil, 0x28
sub ebx, ebx
mov r12w, r11w
shld edi, edi, 5
mov r14d, r8d
shl r12b, cl
movsxd r12, ecx
cmp rdi, r12
mov rdi, rdx
test r8d, r8d
jmp 0x1404d429d
je 0x1404d4786
test rdx, rdx
jmp 0x1404d42ab
jne 0x1404d42da
call fcn.1404ae318
mov dword [rax], ebx
jmp 0x1404d42bd
call fcn.1404ae2e2
mov dword [rax], 0x16
call fcn.1404aef46
or eax, 0xffffffff
jmp 0x1404d42d5
jmp 0x1404d478c
mov rax, r12
xor cx, r10w
lea rcx, [0x1400ba940]
and eax, 0x3f
mov r13, r12
test si, 0x115b
bsr rsi, r11
movsx r15w, r13b
sar r13, 6
movzx rsi, r11w
lea r15, [rax + rax*8]
mov rcx, qword [rcx + r13*8]
or si, 0x3899
btr ax, 0x44
movsx esi, byte [rcx + r15*8 + 0x39]
jmp 0x1404d4324
lea eax, [rsi - 1]
cmp al, 1
jmp 0x1404d432e
ja 0x1404d434c
mov eax, r14d
test r15b, r13b
cmp r10b, dil
not eax
test al, 1
jmp 0x1404d4346
je 0x1404d42b1
test byte [rcx + r15*8 + 0x38], 0x20
jmp 0x1404d4357
je 0x1404d437d
xor edx, edx
movsx r8, sp
movzx rcx, ax
movsx r8w, r9b
mov ecx, r12d
mov r8w, 0x1bad
lea r8d, [rdx + 2]
call fcn.1401029bc
mov ecx, r12d
jmp 0x1404d4385
mov qword [rbp - 0x20], rbx
jmp 0x1404d438e
call fcn.1404da222
test eax, eax
jmp 0x1404d439a
je 0x1404d4580
lea rax, [0x1400ba940]
stc
jmp 0x1404d43b1
mov rax, qword [rax + r13*8]
cmp r15b, 0x95
test r14b, 0x2a
cmp byte [rax + r15*8 + 0x38], bl
jmp 0x1404d43c7
jge 0x1404d4580
call fcn.1404c2576
mov rcx, qword [rax + 0x90]
clc
cmc
cmp qword [rcx + 0x138], rbx
jmp 0x1404d43e7
jne 0x1404d4416
lea rax, [0x1400ba940]
cmp edi, 0x4a9d59c8
mov rax, qword [rax + r13*8]
test r8b, r11b
jmp 0x1404d4406
cmp byte [rax + r15*8 + 0x39], bl
jmp 0x1404d4410
je 0x1404d4580
lea rax, [0x1400ba940]
bswap rdx
mov dl, 0x99
movsx edx, sp
mov rcx, qword [rax + r13*8]
movzx dx, ah
movsxd rdx, eax
bswap dx
lea rdx, [rbp - 0x10]
jmp 0x1404d443c
mov rcx, qword [rcx + r15*8 + 0x28]
jmp 0x1404d4446
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1404d4453
je 0x1404d4580
test sil, sil
jmp 0x1404d4461
je 0x1404d4548
dec sil
test r15b, r10b
cmp sil, 1
jmp 0x1404d4476
ja 0x1404d46c2
lea r12, [rdi + r14]
mov r14, 0x63b167a7
xor r14d, 0x4d6f5803
mov qword [rbp - 0x30], rbx
shr r14b, 0x50
stc
jmp 0x1404d449c
mov r14, rdi
stc
cmp rdi, r12
jmp 0x1404d44a8
jae 0x1404d46af
mov esi, dword [rbp - 0x2c]
movzx eax, word [r14]
cmovle rcx, rbx
movsxd rcx, r15d
movzx ecx, ax
jmp 0x1404d44c4
mov word [rbp - 0x10], ax
call fcn.1404de9f5
movzx ecx, word [rbp - 0x10]
cmc
cmp r15b, 0x34
cmp ax, cx
jmp 0x1404d44de
jne 0x1404d453a
add esi, 2
mov dword [rbp - 0x2c], esi
clc
cmp cx, 0xa
jmp 0x1404d44f4
jne 0x1404d4528
mov ecx, 0xd
jmp 0x1404d4504
call fcn.1404de9f5
mov ecx, 0xd
cmp ax, cx
jne 0x1404d453a
inc esi
jmp 0x1404d451e
mov dword [rbp - 0x2c], esi
jmp 0x1404d4526
inc ebx
add r14, 2
cmp r14, r12
jae 0x1404d46af
jmp 0x1404d44b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
jmp 0x1404d46af
mov r9d, r14d
bswap rcx
jmp 0x1404d4553
lea rcx, [rbp - 0x30]
mov r8b, r15b
mov r8, rdi
movsx rdx, bp
mov edx, r12d
call fcn.1404d47e3
movsd xmm0, qword [rax]
setae bl
not rbx
mov ebx, dword [rax + 8]
jmp 0x1404d457b
jmp 0x1404d46bd
lea rax, [0x1400ba940]
mov rcx, qword [rax + r13*8]
test r14b, 0xbf
cmc
cmp byte [rcx + r15*8 + 0x38], bl
jmp 0x1404d459a
jge 0x1404d463e
mov ecx, esi
test al, 0x1d
cmp r9b, 2
stc
test sil, sil
jmp 0x1404d45b1
je 0x1404d461c
sub ecx, 1
jmp 0x1404d45bf
je 0x1404d45f7
cmp ecx, 1
jne 0x1404d46c2
mov r9d, r14d
not cl
lea rcx, [rbp - 0x30]
movsx r8d, bp
movsxd rdx, r11d
mov r8, rdi
mov dx, 0x150d
mov edx, r12d
jmp 0x1404d45ed
call fcn.1404d5438
jmp 0x1404d4569
mov r9d, r14d
lea rcx, [rbp - 0x30]
cwd
setg r8b
mov r8, rdi
cdq
movzx dx, spl
mov dl, 0x73
mov edx, r12d
call fcn.1404d5689
jmp 0x1404d4569
mov r9d, r14d
mov cx, r13w
movzx edx, r9w
lea rcx, [rbp - 0x30]
mov r8, rdi
setl dh
mov edx, r12d
call fcn.1404d5216
jmp 0x1404d4569
mov rcx, qword [rcx + r15*8 + 0x28]
sub dx, 0x7c7a
sbb r8w, r14w
dec r9d
lea r9, [rbp - 0x2c]
movsx r8, r13w
ror dx, cl
sub eax, eax
bsf rdx, rsi
or rdx, r9
mov r8d, r14d
sbb dx, 0x23e0
and qword [rsp + 0x20], rax
movsxd rdx, r8d
bswap edx
mov rdx, rdi
jmp 0x1404d467d
mov qword [rbp - 0x30], rax
jmp 0x1404d4686
mov dword [rbp - 0x28], eax
jmp 0x1404d468e
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1404d46a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
cmc
mov ebx, dword [rbp - 0x28]
xor eax, 0x41b061e0
cwde
movsd xmm0, qword [rbp - 0x30]
xor ax, 0x2fb9
btc ax, 0xe5
movsd qword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test eax, eax
jmp 0x1404d46d1
jne 0x1404d4773
mov eax, dword [rbp - 0x20]
cmp r14, r10
test eax, eax
jmp 0x1404d46e4
je 0x1404d472a
cmp eax, 5
jmp 0x1404d46f2
jne 0x1404d471d
call fcn.1404ae2e2
mov dword [rax], 9
jmp 0x1404d4708
call fcn.1404ae318
mov dword [rax], 5
jmp 0x1404d4718
jmp 0x1404d42cd
mov ecx, dword [rbp - 0x20]
call fcn.1404ae349
jmp 0x1404d42cd
lea rax, [0x1400ba940]
stc
cmc
mov rax, qword [rax + r13*8]
test byte [rax + r15*8 + 0x38], 0x40
je 0x1404d4751
cmp byte [rdi], 0x1a
jmp 0x1404d474b
je 0x1404d4786
call fcn.1404ae2e2
mov dword [rax], 0x1c
jmp 0x1404d4761
call fcn.1404ae318
and dword [rax], 0
jmp 0x1404d476e
jmp 0x1404d42cd
mov eax, dword [rbp - 0x1c]
test r13b, 0x58
sub eax, ebx
jmp 0x1404d4781
jmp 0x1404d478c
sub eax, eax
sar dil, 0x30
mov rbx, qword [rsp + 0xb8]
not rdi
xor di, ax
add rsp, 0x60
movzx rsi, sp
movsx di, r12b
mov dil, 5
pop r15
mov si, di
movsx r14d, r15w
mov r13w, 0x942
pop r14
pop r13
mov rsi, r9
cmovnp rbp, rsp
pop r12
jmp 0x1404d47cd
pop rdi
not sil
movsx rsi, r13w
pop rsi
cmovns ebp, r12d
movsx rbp, dx
xchg bpl, bpl
pop rbp
ret