Function at 0x1404df488
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
test dl, dl
push rbp
push rsi
movzx ebp, sp
push rdi
cmp r11w, bx
rcl dil, cl
push r12
rcl bpl, cl
rol r12b, cl
push r13
test r8b, bl
push r14
mov dil, dl
push r15
cmovl rbp, r13
mov rbp, rsp
test r13w, r14w
cmp r14w, 0x2d0f
sub rsp, 0x60
rol r14w, 0x42
or edi, r9d
test r13b, r10b
sub ebx, ebx
adc r14w, r14w
adc r14b, 0xc2
shrd r14w, sp, 0xb0
mov r14d, r8d
movsxd r12, ecx
xadd dil, dil
adc rdi, rbx
mov rdi, rdx
test sp, sp
cmp r14w, 0x2618
test r8d, r8d
jmp 0x1404df501
je 0x1404df9c7
test rdx, rdx
jmp 0x1404df50f
jne 0x1404df543
call fcn.1404b98e0
mov dword [rax], ebx
jmp 0x1404df521
call fcn.1404b98a4
mov dword [rax], 0x16
jmp 0x1404df531
call fcn.1404ba568
or eax, 0xffffffff
jmp 0x1404df53e
jmp 0x1404df9c9
mov rax, r12
add r15, r13
lea rcx, [0x1400ba940]
and eax, 0x3f
mov r13, r12
sar r13, 6
neg esi
rol r15b, 0xc0
lea r15, [rax + rax*8]
shr rax, cl
sbb eax, edx
mov rcx, qword [rcx + r13*8]
clc
movsx esi, byte [rcx + r15*8 + 0x39]
lea eax, [rsi - 1]
clc
cmp r15b, bl
cmp al, 1
jmp 0x1404df582
ja 0x1404df59b
mov eax, r14d
not eax
stc
test al, 1
jmp 0x1404df595
je 0x1404df515
test byte [rcx + r15*8 + 0x38], 0x20
je 0x1404df5c1
xor edx, edx
setae r8b
mov ecx, r12d
mov r8b, bl
lea r8d, [rdx + 2]
jmp 0x1404df5bc
call fcn.140275b30
mov ecx, r12d
jmp 0x1404df5c9
mov qword [rbp - 0x20], rbx
jmp 0x1404df5d2
call fcn.1404e543c
test eax, eax
jmp 0x1404df5de
je 0x1404df79a
lea rax, [0x1400ba940]
mov rax, qword [rax + r13*8]
cmp byte [rax + r15*8 + 0x38], bl
jmp 0x1404df5f9
jge 0x1404df79a
call fcn.1404cdafb
mov rcx, qword [rax + 0x90]
cmc
stc
cmp qword [rcx + 0x138], rbx
jne 0x1404df636
lea rax, [0x1400ba940]
cmc
mov rax, qword [rax + r13*8]
cmp byte [rax + r15*8 + 0x39], bl
jmp 0x1404df630
je 0x1404df79a
lea rax, [0x1400ba940]
movsx rdx, r10w
cmovs cx, bx
mov rcx, qword [rax + r13*8]
lea rdx, [rbp - 0x10]
jmp 0x1404df652
mov rcx, qword [rcx + r15*8 + 0x28]
jmp 0x1404df65c
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1404df669
je 0x1404df79a
test sil, sil
jmp 0x1404df677
je 0x1404df74b
dec sil
clc
cmp sil, 1
ja 0x1404df8f6
lea r12, [rdi + r14]
mov qword [rbp - 0x30], rbx
mov r14, rdi
clc
stc
cmp rdi, r12
jae 0x1404df8e7
mov esi, dword [rbp - 0x2c]
not cl
movzx eax, word [r14]
movzx ecx, ax
jmp 0x1404df6b2
mov word [rbp - 0x10], ax
jmp 0x1404df6bb
call fcn.1404e9ca9
movzx ecx, word [rbp - 0x10]
cmp ax, cx
jmp 0x1404df6cc
jne 0x1404df738
add esi, 2
test r10b, 0xb4
cmc
cmp r14d, r12d
mov dword [rbp - 0x2c], esi
cmp cx, 0xa
jmp 0x1404df6e9
jne 0x1404df718
mov ecx, 0xd
call fcn.1404e9ca9
mov ecx, 0xd
cmp ax, cx
jmp 0x1404df706
jne 0x1404df738
inc esi
jmp 0x1404df713
mov dword [rbp - 0x2c], esi
inc ebx
add r14, 2
test di, r9w
jmp 0x1404df725
cmp r14, r12
jmp 0x1404df72d
jae 0x1404df8e7
jmp 0x1404df6a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
jmp 0x1404df746
jmp 0x1404df8e7
mov r9d, r14d
setbe ch
movzx r8, ax
cqo
lea rcx, [rbp - 0x30]
movsx rdx, r15w
seto r8b
mov r8, rdi
movsx dx, dil
movsx rdx, di
movzx edx, bp
mov edx, r12d
jmp 0x1404df77a
call fcn.1404dfa01
movsd xmm0, qword [rax]
setae bl
mov ebx, 0x529a5bc4
xchg ebx, ebx
mov ebx, dword [rax + 8]
jmp 0x1404df795
jmp 0x1404df8f1
lea rax, [0x1400ba940]
shl ch, 0xff
bsf ecx, r14d
bts cx, r8w
mov rcx, qword [rax + r13*8]
cmp byte [rcx + r15*8 + 0x38], bl
jmp 0x1404df7bb
jge 0x1404df87c
mov ecx, esi
stc
jmp 0x1404df7c9
test sil, sil
jmp 0x1404df7d1
je 0x1404df854
sub ecx, 1
je 0x1404df816
cmp ecx, 1
jmp 0x1404df7e8
jne 0x1404df8f6
mov r9d, r14d
movzx dx, bh
not r8w
lea rcx, [rbp - 0x30]
mov r8, rdi
cwd
not dh
mov edx, r12d
jmp 0x1404df80c
call fcn.1404e0652
jmp 0x1404df77f
mov r9d, r14d
bswap r8w
jmp 0x1404df825
lea rcx, [rbp - 0x30]
setb dl
cmove r8w, r8w
xchg dl, r8b
mov r8, rdi
bswap dx
movsx rdx, ax
movzx rdx, sp
mov edx, r12d
jmp 0x1404df84a
call fcn.1404e08eb
jmp 0x1404df77f
mov r9d, r14d
xchg r8b, cl
lea rcx, [rbp - 0x30]
movsx r8w, sil
cdq
movsxd r8, ebp
mov r8, rdi
mov edx, r12d
jmp 0x1404df872
call fcn.1404e0412
jmp 0x1404df77f
mov rcx, qword [rcx + r15*8 + 0x28]
or r9b, r8b
rcr dx, cl
rcr r9w, 0xf3
lea r9, [rbp - 0x2c]
ror edx, cl
xor eax, eax
jmp 0x1404df89d
mov r8d, r14d
bts dx, r10w
or dx, r12w
and qword [rsp + 0x20], rax
mov dl, bpl
mov rdx, rdi
jmp 0x1404df8b9
mov qword [rbp - 0x30], rax
jmp 0x1404df8c2
mov dword [rbp - 0x28], eax
jmp 0x1404df8ca
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1404df8e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
mov ebx, dword [rbp - 0x28]
adc ah, 0x19
movsd xmm0, qword [rbp - 0x30]
cmovae ax, r8w
movsd qword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
cmc
shr rax, 0x20
cmp spl, spl
test eax, eax
jmp 0x1404df909
jne 0x1404df9b2
mov eax, dword [rbp - 0x20]
cmp r11w, r8w
test eax, eax
jmp 0x1404df91d
je 0x1404df968
cmp eax, 5
jmp 0x1404df92b
jne 0x1404df956
call fcn.1404b98a4
mov dword [rax], 9
jmp 0x1404df941
call fcn.1404b98e0
mov dword [rax], 5
jmp 0x1404df951
jmp 0x1404df536
mov ecx, dword [rbp - 0x20]
jmp 0x1404df95e
call fcn.1404b9917
jmp 0x1404df536
lea rax, [0x1400ba940]
jmp 0x1404df977
mov rax, qword [rax + r13*8]
test byte [rax + r15*8 + 0x38], 0x40
jmp 0x1404df986
je 0x1404df995
cmp byte [rdi], 0x1a
je 0x1404df9c7
call fcn.1404b98a4
mov dword [rax], 0x1c
jmp 0x1404df9a5
call fcn.1404b98e0
and dword [rax], 0
jmp 0x1404df536
mov eax, dword [rbp - 0x1c]
cmp bl, 0xee
test cx, sp
sub eax, ebx
jmp 0x1404df9c2
jmp 0x1404df9c9
sub eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
movsx r12, bp
movzx r15, dx
pop r15
pop r14
movzx di, r15b
bswap ebp
movsx edi, r15w
pop r13
pop r12
pop rdi
pop rsi
cmovne rbp, rdx
mov bp, 0x47ce
pop rbp
jmp 0x1404dfa00
ret