Function at 0x1404d715f
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
bt rbp, r12
push rsi
bt si, r13w
shr al, 0x35
push rdi
push r12
cbw
movsx r12d, r15w
push r13
bts r12d, esi
push r14
btc bp, 0xbd
push r15
shr bp, cl
lea rbp, [rsp - 0x27]
shrd r15, r10, 0x8e
sub r13w, r9w
movzx rax, dx
sub rsp, 0x100
shl r14d, 0xe9
xor r13b, 3
mov rax, qword [0x1400b7288]
xor rax, rsp
mov qword [rbp + 0x17], rax
lahf
movsxd rsi, edx
ror r12b, 0xfc
rcr r14b, 0x8e
mov r15, r8
mov rax, rsi
adc r12b, r11b
clc
mov qword [rbp - 9], rcx
movsx r12w, cl
bsr r13w, ax
sal r14b, 0xf4
mov qword [rbp - 0x11], rax
shr r12w, 0xf0
movsx r13, r9w
bt r14w, 0xb1
lea rcx, [0x140000000]
and eax, 0x3f
bsr r12w, cx
xor r14b, 0x40
mov r13d, r9d
movsx r14, r10w
add r13, r8
bts r14w, r9w
mov qword [rbp - 0x21], r8
and r14b, bl
test cx, 0x5898
mov r12, rsi
xadd r14d, r14d
mov qword [rbp - 0x51], r13
rcr r14b, 0x34
sar r12, 6
cmova r14w, bp
setg r14b
lea r14, [rax + rax*8]
cmovo ax, r13w
mov rax, r14
mov rax, qword [rcx + r12*8 + 0xba940]
jmp 0x1404d725a
mov rax, qword [rax + r14*8 + 0x28]
jmp 0x1404d7264
mov qword [rbp - 0x49], rax
jmp 0x1404d726d
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
sub edx, edx
mov cx, 0x7747
movzx ecx, r10w
lea rcx, [rsp + 0x50]
mov dword [rbp - 0x59], eax
jmp 0x1404d728a
call fcn.1404a039b
mov rcx, qword [rsp + 0x58]
not dil
adc dh, 0x5c
btc rdx, r9
xor r11d, r11d
movsx rdx, cx
movsx edx, ax
mov dword [rbp - 0x69], r11d
test r14b, r10b
stc
mov ebx, r11d
sbb dl, sil
or dil, r11b
mov dword [rbp - 0x65], ebx
xor dx, si
mov rdi, r15
mov edx, dword [rcx + 0xc]
mov ecx, r11d
mov dword [rsp + 0x40], ecx
mov dword [rbp - 0x55], edx
cmp r15, r13
jmp 0x1404d72d7
jae 0x1404d7a3e
mov rax, rsi
and rsi, 0x4221409a
add cl, 0xdc
mov rsi, r15
sar cl, 0xda
adc cl, 0x38
sar rax, 6
movzx r15w, cl
movsx r15w, dil
mov qword [rbp - 0x19], rax
sal r15b, cl
cmp r11d, 0x67980d1f
test ebx, r12d
mov cl, byte [rdi]
mov r15d, 1
mov byte [rsp + 0x44], cl
stc
test spl, 0xaa
cmc
mov dword [rsp + 0x48], r11d
stc
test rdi, 0x591e7dd2
cmp edx, 0xfde9
jmp 0x1404d733c
jne 0x1404d7610
lea r15, [0x140000000]
xor sil, sil
cwd
movsx r9, r9w
mov edx, r11d
ror sil, cl
mov esi, 0x1e5b17b4
mov r9, qword [r15 + rax*8 + 0xba940]
not al
mov rsi, r11
movsx eax, r10w
lea rax, [r9 + r14*8]
test r9, r8
cmp byte [rax + rsi + 0x3e], r11b
je 0x1404d7399
inc edx
jmp 0x1404d7387
inc rsi
cmp rsi, 5
jmp 0x1404d7393
jl 0x1404d7375
test rsi, rsi
jmp 0x1404d73a1
jle 0x1404d7551
mov rax, qword [r15 + r12*8 + 0xba940]
mov r8, qword [rbp - 0x51]
sub r8, rdi
cmovbe ecx, eax
movzx rcx, r10w
movzx ecx, byte [rax + r14*8 + 0x3e]
bswap r13w
movsx r15d, byte [rcx + r15 + 0xb7d00]
inc r10b
inc r15d
movzx r10, r12w
movzx r13w, sil
sbb r10d, 0x2a667f14
mov r13d, r15d
movzx r10d, r8w
movzx r10w, r8b
shr r10w, cl
sub r13d, edx
movsxd r10, r13d
cmp r10, r8
jg 0x1404d7884
lea rax, [rbp - 1]
movsxd rcx, r10d
rcl dx, cl
mov rdx, r11
sar r8b, cl
movsxd rcx, r10d
or cx, r8w
sub r9, rax
mov cl, spl
lea r8, [r9 + r14*8]
lea rcx, [rbp - 1]
add rcx, rdx
xchg al, al
inc rdx
xor al, bpl
xor al, 0x24
shr al, 0xcf
mov al, byte [rcx + r8 + 0x3e]
mov byte [rcx], al
test r9b, 0x28
cmp rdx, rsi
jmp 0x1404d744d
jl 0x1404d7426
test r13d, r13d
jmp 0x1404d745b
jle 0x1404d7482
lea rcx, [rbp - 1]
mov r8, r10
stc
shr dx, cl
add rcx, rsi
mov rdx, rdi
call fcn.14049f3a4
xor r11d, r11d
movsx rdx, si
bts rdx, rbp
mov rdx, r11
sub r8b, sil
adc cl, 0x4c
sar cl, 0x42
lea r8, [0x140000000]
mov rcx, qword [r8 + r12*8 + 0xba940]
add rcx, rdx
jmp 0x1404d74a5
inc rdx
jmp 0x1404d74ae
mov byte [rcx + r14*8 + 0x3e], r11b
test spl, 0x80
cmp rdx, rsi
jmp 0x1404d74bf
jl 0x1404d7495
lea rax, [rbp - 1]
add dl, bpl
mov qword [rbp - 0x41], r11
mov qword [rbp - 0x39], rax
lea r9, [rbp - 0x41]
jmp 0x1404d74e2
mov eax, r11d
sbb al, 0xc1
lea rdx, [rbp - 0x39]
bts cx, cx
cmp r15d, 4
setbe cl
lea rcx, [rsp + 0x48]
setb r8b
sete al
movzx r15, r14w
mov r15b, r13b
movzx r15w, sil
inc eax
movsx r8, bp
mov r8d, eax
mov r15d, eax
call fcn.1404dcc0f
cmp rax, 0xffffffffffffffff
je 0x1404d76b4
lea eax, [r13 - 1]
bsf si, r15w
mov r13, qword [rbp - 0x51]
btr rsi, rax
and sil, 0x51
xadd esi, esi
movsxd rsi, eax
add rsi, rdi
jmp 0x1404d754c
jmp 0x1404d76f1
movzx eax, byte [rdi]
shr si, cl
bts si, bx
cmc
mov rdx, r13
sub rdx, rdi
btc rsi, 0xd
or sil, 0x81
movsx rsi, byte [rax + r15 + 0xb7d00]
not cx
lea ecx, [rsi + 1]
test sil, dil
mov ax, 0x26e8
movsxd rax, ecx
cmp rax, rdx
jmp 0x1404d758c
jg 0x1404d78f4
cmp ecx, 4
cmovs bx, r11w
mov qword [rbp - 0x31], r11
mov eax, r11d
cdq
mov al, r12b
bswap r8w
mov qword [rbp - 0x29], rdi
bswap cx
not al
sete al
movzx r8w, r15b
cdq
not cl
lea r9, [rbp - 0x31]
dec r8
cdq
not rdx
inc eax
cwd
mov bx, si
lea rdx, [rbp - 0x29]
xchg r8b, r8b
jmp 0x1404d75df
mov r8d, eax
mov cl, dil
lea rcx, [rsp + 0x48]
mov ebx, eax
jmp 0x1404d75f1
call fcn.1404dcc0f
cmp rax, 0xffffffffffffffff
je 0x1404d76b4
add rsi, rdi
mov r15d, ebx
jmp 0x1404d760b
jmp 0x1404d76f1
lea rax, [0x140000000]
mov rdx, qword [rax + r12*8 + 0xba940]
mov cl, byte [rdx + r14*8 + 0x3d]
cmc
test ch, 0xbb
test cl, 4
jmp 0x1404d7630
je 0x1404d7654
mov al, byte [rdx + r14*8 + 0x3e]
and cl, 0xfb
mov byte [rbp + 7], al
mov al, byte [rdi]
mov byte [rdx + r14*8 + 0x3d], cl
lea rdx, [rbp + 7]
mov byte [rbp + 8], al
jmp 0x1404d7690
call fcn.1404a6ada
movzx ecx, byte [rdi]
stc
cmc
xor edx, edx
jmp 0x1404d766b
cmp word [rax + rcx*2], dx
jge 0x1404d76c2
inc rsi
cmp spl, al
test sil, 0xb2
cmp rsi, r13
jmp 0x1404d7687
jae 0x1404d79bf
mov rdx, rdi
mov r8d, 2
movsx rcx, sp
mov ch, dh
lea rcx, [rsp + 0x48]
call fcn.1401cceb4
cmp eax, 0xffffffff
jmp 0x1404d76ae
jne 0x1404d76f1
cmp byte [rbp - 0x71], 0
jmp 0x1404d76bd
jmp 0x1404d79b6
mov r8, r15
lea rcx, [rsp + 0x48]
movsx dx, r10b
setp dh
movsx rdx, r15w
mov rdx, rdi
jmp 0x1404d76de
call fcn.1401cceb4
cmp eax, 0xffffffff
jmp 0x1404d76eb
je 0x1404d7a23
mov ecx, dword [rbp - 0x59]
xadd di, r9w
lea rax, [rbp + 0xf]
ror r9w, 0xb9
shrd edi, r13d, 0x28
xor ebx, ebx
xchg r9, r8
lea r8, [rsp + 0x48]
mov qword [rsp + 0x38], rbx
xor rdi, r8
movsx edi, r9w
lea rdi, [rsi + 1]
jmp 0x1404d7726
mov qword [rsp + 0x30], rbx
dec r9
xor r9, 0x546f79a2
mov r9d, r15d
mov dword [rsp + 0x28], 5
xor edx, edx
jmp 0x1404d7747
mov qword [rsp + 0x20], rax
jmp 0x1404d7751
call fcn.1404c5188
mov esi, eax
cmc
cmp r14b, cl
test eax, eax
jmp 0x1404d7763
je 0x1404d7aeb
mov rcx, qword [rbp - 0x49]
movzx edx, bp
lea r9, [rsp + 0x4c]
movsx r8, si
movsxd rdx, esi
cdq
mov r8d, eax
mov qword [rsp + 0x20], rbx
setne dl
lea rdx, [rbp + 0xf]
jmp 0x1404d7791
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor r11d, r11d
jmp 0x1404d77a9
test eax, eax
je 0x1404d7add
mov r15d, dword [rsp + 0x40]
mov ebx, edi
test r11b, r11b
sub ebx, dword [rbp - 0x21]
add ebx, r15d
test cx, sp
stc
mov dword [rbp - 0x65], ebx
cmp dword [rsp + 0x4c], esi
jb 0x1404d79af
cmp byte [rsp + 0x44], 0xa
jne 0x1404d7859
mov rcx, qword [rbp - 0x49]
mov edx, 0x2aa255a1
lea eax, [r11 + 0xd]
mov r9w, cx
mov dl, 0x84
lea r9, [rsp + 0x4c]
movsx r8, bp
mov word [rsp + 0x44], ax
lea r8d, [r11 + 1]
movsx rdx, r12w
movsx dx, sil
mov qword [rsp + 0x20], r11
lea rdx, [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor r11d, r11d
clc
test eax, eax
jmp 0x1404d7826
je 0x1404d7a1a
cmp dword [rsp + 0x4c], 1
jmp 0x1404d7836
jb 0x1404d79af
inc r15d
movzx rsi, si
cmovae rsi, r15
inc ebx
mov dword [rsp + 0x40], r15d
sub si, 0x7415
mov dword [rbp - 0x65], ebx
sal sil, cl
mov rsi, rdi
cmp r15d, r14d
cmp rdi, r13
jmp 0x1404d7867
jae 0x1404d7a3a
mov rax, qword [rbp - 0x19]
movsxd rdx, edx
bswap dx
mov edx, dword [rbp - 0x55]
jmp 0x1404d787f
jmp 0x1404d7312
mov edx, r11d
clc
test ax, r15w
test r8, r8
jmp 0x1404d7894
jle 0x1404d78ec
sub rdi, rsi
lea rbx, [0x140000000]
dec ch
mov al, r15b
mov al, byte [rdi + rsi]
inc edx
rcr ch, 0x13
mov rcx, qword [rbx + r12*8 + 0xba940]
cmp sil, 0xb8
test bx, 0x2011
add rcx, rsi
jmp 0x1404d78ca
inc rsi
test esp, 0x21455b12
mov byte [rcx + r14*8 + 0x3e], al
movsxd rax, edx
clc
cmp rax, r8
jl 0x1404d78a9
mov ebx, dword [rbp - 0x65]
test r14b, 0x9c
add ebx, r8d
jmp 0x1404d79ac
mov r9d, r11d
clc
test rdx, rdx
jmp 0x1404d7900
jle 0x1404d79a0
mov r13, qword [rbp - 0x11]
and r8b, bpl
cmp rsp, 0x3a55715f
mov r8, r11
or al, r12b
btc r11w, 0xc4
xadd r11b, r10b
mov r10, r13
bt r11d, 0x83
and r13d, 0x3f
or ch, 0xa1
sar r10, 6
lea r11, [r13*8]
sub cx, sp
add r11, r13
mov al, sil
movsxd rcx, ecx
mov ecx, 0x19f83ba3
mov al, byte [r8 + rdi]
cmovp cx, r9w
movzx rcx, dx
inc r9d
mov rcx, qword [r15 + r10*8 + 0xba940]
test r9, rax
test r12b, 0x64
add rcx, r8
jmp 0x1404d7977
inc r8
stc
cmp r14w, 0x3b07
mov byte [rcx + r11*8 + 0x3e], al
clc
movsxd rax, r9d
cmp rax, rdx
jmp 0x1404d7992
jl 0x1404d7950
sub r11d, r11d
jmp 0x1404d79a0
add ebx, edx
xchg cx, cx
rcr ch, 0x3e
xadd cx, cx
mov dword [rbp - 0x65], ebx
cmp byte [rbp - 0x71], r11b
movsxd rcx, r11d
mov ecx, dword [rsp + 0x40]
jmp 0x1404d7a47
mov al, byte [rdi]
mov ch, ah
lea r8, [0x140000000]
movsx rcx, r13w
cmovns cx, sp
mov rcx, qword [r8 + r12*8 + 0xba940]
inc ebx
clc
jmp 0x1404d79e6
mov dword [rbp - 0x65], ebx
cmp r10, 0x1cfc5698
clc
mov byte [rcx + r14*8 + 0x3e], al
rcl eax, cl
test cl, 0x55
xor ah, 0xc7
mov rax, qword [r8 + r12*8 + 0xba940]
or byte [rax + r14*8 + 0x3d], 4
clc
cmp byte [rbp - 0x71], dl
jmp 0x1404d7a15
jmp 0x1404d79b6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
mov ecx, dword [rsp + 0x40]
jmp 0x1404d7a2c
cmp byte [rbp - 0x71], 0
jmp 0x1404d7a35
jmp 0x1404d7a47
mov ecx, dword [rsp + 0x40]
cmp byte [rbp - 0x71], r11b
jmp 0x1404d7a47
je 0x1404d7a59
mov rax, qword [rsp + 0x50]
and dword [rax + 0x3a8], 0xfffffffd
mov rax, qword [rbp - 9]
test r11b, r14b
movsd xmm0, qword [rbp - 0x69]
cmp al, r13b
movsd qword [rax], xmm0
cmc
jmp 0x1404d7a72
mov dword [rax + 8], ecx
sal rcx, 2
mov cx, r10w
adc ecx, ebx
mov rcx, qword [rbp + 0x17]
jmp 0x1404d7a88
xor rcx, rsp
jmp 0x1404d7a90
call fcn.14049b928
mov rbx, qword [rsp + 0x140]
ror ebp, 0xe0
add rsp, 0x100
pop r15
movsxd r12, r14d
bswap r14d
pop r14
movsx si, r14b
pop r13
movsxd rbp, esp
pop r12
movsx ebp, r14w
movzx rdi, di
pop rdi
movsx ebp, r15w
pop rsi
cmovbe ebp, r15d
movsx ebp, r12w
xchg bp, bp
pop rbp
jmp 0x1404d7adc
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
movzx cx, dil
mov ecx, dword [rsp + 0x40]
cmp r12, 0x34920c1c
cmp byte [rbp - 0x71], bl
jmp 0x1404d7afe
jmp 0x1404d7a47