Function at 0x1404d9421
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
test ebp, ebx
test cl, 0xb9
push rbp
push rsi
xor bpl, spl
movsx rbp, r13w
push rdi
cmovle di, r11w
xadd bpl, dil
or rdi, 0x72cc55c0
push r12
shr r12, cl
push r13
btc bp, r9w
bts di, ax
rcr dil, cl
push r14
push r15
cmp di, r12w
shrd r14, r12, 4
mov rbp, rsp
mov rdi, 0x7f5f6c01
sub rsp, 0x60
xor ebx, ebx
rcr r14b, 0xb8
rcl r12b, 0x42
bsr r12w, bx
mov r14d, r8d
clc
movsxd r12, ecx
mov rdi, rdx
clc
test r8d, r8d
jmp 0x1404d9495
je 0x1404d995d
test rdx, rdx
jmp 0x1404d94a3
jne 0x1404d94d2
call fcn.1404b3a40
mov dword [rax], ebx
jmp 0x1404d94b5
call fcn.1404b3a01
mov dword [rax], 0x16
call fcn.1404b4719
or eax, 0xffffffff
jmp 0x1404d94cd
jmp 0x1404d995f
mov rax, r12
lea rcx, [0x1400ba940]
rol r15b, cl
and eax, 0x3f
mov si, r8w
mov r13, r12
movsx r15, ax
or esi, r11d
sal r15b, 0x94
sar r13, 6
movsx r15, r14w
rcl r15d, 0x8a
and rsi, rax
lea r15, [rax + rax*8]
mov rcx, qword [rcx + r13*8]
cdqe
cmovge eax, r8d
movsx esi, byte [rcx + r15*8 + 0x39]
rcr al, cl
rol rax, cl
lea eax, [rsi - 1]
clc
cmp al, 1
ja 0x1404d953b
mov eax, r14d
not eax
clc
test al, 1
jmp 0x1404d9535
je 0x1404d94a9
test byte [rcx + r15*8 + 0x38], 0x20
jmp 0x1404d9546
je 0x1404d9576
xor edx, edx
movsx ecx, r11w
movzx r8d, bp
bswap rcx
mov ecx, r12d
movsxd r8, edx
movsx r8w, bpl
movzx r8, r11w
lea r8d, [rdx + 2]
jmp 0x1404d9571
call fcn.1401f44a2
mov ecx, r12d
jmp 0x1404d957e
mov qword [rbp - 0x20], rbx
jmp 0x1404d9587
call fcn.1404df2b7
test eax, eax
jmp 0x1404d9593
je 0x1404d9762
lea rax, [0x1400ba940]
clc
cmp sil, r8b
cmp r8w, 0x6993
mov rax, qword [rax + r13*8]
cmp dil, r11b
cmp byte [rax + r15*8 + 0x38], bl
jge 0x1404d9762
call fcn.1404c7952
mov rcx, qword [rax + 0x90]
clc
cmp qword [rcx + 0x138], rbx
jne 0x1404d95f8
lea rax, [0x1400ba940]
clc
cmp cl, 0x6f
mov rax, qword [rax + r13*8]
test sil, 0xf
cmp ax, r9w
cmp byte [rax + r15*8 + 0x39], bl
je 0x1404d9762
lea rax, [0x1400ba940]
sete dh
jmp 0x1404d9607
mov rcx, qword [rax + r13*8]
movsx rdx, r13w
movsx edx, r14w
lea rdx, [rbp - 0x10]
mov rcx, qword [rcx + r15*8 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1404d9629
je 0x1404d9762
test sil, sil
jmp 0x1404d9637
je 0x1404d9727
dec sil
cmp sil, 1
jmp 0x1404d9649
ja 0x1404d9881
lea r12, [rdi + r14]
mov qword [rbp - 0x30], rbx
bsr r14d, r11d
xor r14w, r8w
mov r14, rdi
cmp rdi, r12
jae 0x1404d9874
mov esi, dword [rbp - 0x2c]
movsx eax, r10w
movsx ax, r15b
movzx eax, word [r14]
xchg cl, cl
movzx ecx, si
movzx ecx, ax
jmp 0x1404d9688
mov word [rbp - 0x10], ax
jmp 0x1404d9691
call fcn.1404e3ac3
movzx ecx, word [rbp - 0x10]
cmc
clc
cmp ax, cx
jne 0x1404d9714
add esi, 2
mov dword [rbp - 0x2c], esi
cmc
clc
cmp cx, 0xa
jmp 0x1404d96b6
jne 0x1404d96fa
mov ecx, 0xd
jmp 0x1404d96c6
call fcn.1404e3ac3
mov ecx, 0xd
stc
test cl, 0xd6
cmp ax, cx
jmp 0x1404d96dc
jne 0x1404d9714
inc esi
jmp 0x1404d96e9
mov dword [rbp - 0x2c], esi
inc ebx
test si, 0x3163
cmp rsp, 0x37dc0c91
add r14, 2
cmp r14b, al
cmp r14, r12
jmp 0x1404d9709
jae 0x1404d9874
jmp 0x1404d9677
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
jmp 0x1404d9722
jmp 0x1404d9874
mov r9d, r14d
cmovg r8d, edx
bswap r8w
lea rcx, [rbp - 0x30]
mov r8, rdi
bswap edx
cqo
mov edx, r12d
call fcn.1404d99b2
movsd xmm0, qword [rax]
movzx ebx, r10w
movsx ebx, r9w
movsx rbx, r11w
mov ebx, dword [rax + 8]
jmp 0x1404d975d
jmp 0x1404d9879
lea rax, [0x1400ba940]
mov rcx, qword [rax + r13*8]
cmp byte [rcx + r15*8 + 0x38], bl
jmp 0x1404d9777
jge 0x1404d980f
mov ecx, esi
stc
test sil, sil
jmp 0x1404d9788
je 0x1404d97f3
sub ecx, 1
jmp 0x1404d9796
je 0x1404d97d2
cmp ecx, 1
jmp 0x1404d97a4
jne 0x1404d9881
mov r9d, r14d
movzx rcx, dx
movsx cx, cl
lea rcx, [rbp - 0x30]
mov r8, rdi
cwd
cqo
mov edx, r12d
jmp 0x1404d97c8
call fcn.1404da5c6
jmp 0x1404d9745
mov r9d, r14d
movsx rcx, si
bswap ecx
lea rcx, [rbp - 0x30]
movzx r8, r10w
mov r8, rdi
mov edx, r12d
call fcn.1404da829
jmp 0x1404d9745
mov r9d, r14d
lea rcx, [rbp - 0x30]
mov r8, rdi
mov edx, r12d
jmp 0x1404d9805
call fcn.1404da39a
jmp 0x1404d9745
mov rcx, qword [rcx + r15*8 + 0x28]
btr r9d, ecx
sbb r8b, r10b
cmp edi, r15d
lea r9, [rbp - 0x2c]
sub eax, eax
mov r8d, r14d
movsx rdx, r15w
shl rdx, cl
bts dx, r12w
and qword [rsp + 0x20], rax
mov rdx, rdi
jmp 0x1404d9840
mov qword [rbp - 0x30], rax
jmp 0x1404d9849
mov dword [rbp - 0x28], eax
jmp 0x1404d9851
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1404d9871
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
btr ax, ax
shld rax, rbp, 0x32
mov ebx, dword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x30]
movsd qword [rbp - 0x20], xmm0
bt eax, esi
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test al, 0x7e
test dl, dl
cmp ecx, r13d
test eax, eax
jmp 0x1404d9897
jne 0x1404d9948
mov eax, dword [rbp - 0x20]
cmp spl, 0x46
test eax, eax
jmp 0x1404d98ab
je 0x1404d98f6
cmp eax, 5
jmp 0x1404d98b9
jne 0x1404d98e4
call fcn.1404b3a01
mov dword [rax], 9
jmp 0x1404d98cf
call fcn.1404b3a40
mov dword [rax], 5
jmp 0x1404d98df
jmp 0x1404d94c5
mov ecx, dword [rbp - 0x20]
jmp 0x1404d98ec
call fcn.1404b3a89
jmp 0x1404d94c5
lea rax, [0x1400ba940]
clc
test dl, r9b
mov rax, qword [rax + r13*8]
test r9b, 0xf1
test al, bpl
test byte [rax + r15*8 + 0x38], 0x40
jmp 0x1404d9917
je 0x1404d992b
cmp byte [rdi], 0x1a
jmp 0x1404d9925
je 0x1404d995d
call fcn.1404b3a01
mov dword [rax], 0x1c
jmp 0x1404d993b
call fcn.1404b3a40
and dword [rax], 0
jmp 0x1404d94c5
mov eax, dword [rbp - 0x1c]
jmp 0x1404d9951
sub eax, ebx
jmp 0x1404d9958
jmp 0x1404d995f
sub eax, eax
mov rbx, qword [rsp + 0xb8]
sbb esi, r10d
bts r14d, esi
add rsp, 0x60
pop r15
movzx bp, r10b
bswap bp
jmp 0x1404d9981
pop r14
movzx r13d, di
pop r13
movsxd rdi, ebp
movzx si, dil
pop r12
movzx di, al
movsxd rbp, edx
pop rdi
movzx rbp, r13w
movzx si, al
mov sil, dil
pop rsi
cmovo bp, r12w
movsx rbp, cx
pop rbp
ret