Function at 0x140004020
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14001d010]
xor rax, rsp
mov qword [rbp + 0x70], rax
xor esi, esi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], 0xf
lea r8d, [rsi + 0x12]
lea rdx, str.NSudo.String.Links
lea rcx, [rsp + 0x38]
call fcn.140005370
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x68]
lea rcx, [0x14001d0a0]
call fcn.140005660
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp + 8]
call fcn.140005090
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400040e1
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400040dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000447f
call fcn.14000afec
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 0xf
mov r8d, 0x1c
lea rdx, str.NSudo.String.CommandLineHelp
lea rcx, [rsp + 0x58]
call fcn.140005370
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x68]
lea rcx, [0x14001d0a0]
call fcn.140005660
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp - 0x18]
call fcn.140005090
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14000418b
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004186
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004485
call fcn.14000afec
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], 0xf
mov r8d, 0xe
lea rdx, str.NSudo.LogoText
lea rcx, [rsp + 0x78]
call fcn.140005370
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
lea rcx, [0x14001d0a0]
call fcn.140005660
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp - 0x38]
call fcn.140005090
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140004232
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000422d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000448b
call fcn.14000afec
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x38]
lea rcx, [rbp - 0x58]
call fcn.140005eb0
nop
lea r9, [rbp + 8]
lea r8, [rbp - 0x58]
lea rcx, [rbp + 0x50]
call fcn.140005eb0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x1400042a8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004491
call fcn.14000afec
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1400042e9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004497
call fcn.14000afec
nop
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14000432a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004324
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000449d
call fcn.14000afec
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x14000436a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004365
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044a3
call fcn.14000afec
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.14000a2e0
mov dword [rbp + 0x28], esi
mov ebx, dword [rbp + 0x40]
lea rdi, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdi, qword [rbp + 0x30]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x28]
mov r8d, ebx
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test eax, eax
jle 0x1400043cb
movzx ebx, ax
or ebx, 0x80070000
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x140004406
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004401
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044a9
call fcn.14000afec
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x140004452
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000444d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004479
call fcn.14000afec
mov eax, ebx
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.14000ac70
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.14000ed30
int3
call fcn.14000ed30
nop
call fcn.14000ed30
nop
call fcn.14000ed30
nop
call fcn.14000ed30
nop
call fcn.14000ed30
nop
call fcn.14000ed30
nop
call fcn.14000ed30
int3
call fcn.14000ed30
int3