Function at 0x14000de30
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1401fa010]
xor rax, rsp
mov qword [rsp + 0x38], rax
cmp dword [rcx + 8], 4
mov rbx, rcx
jae 0x14000def8
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [rsp + 0x30], 0
cmp rax, 0xffffffffffffffff
je 0x14000dea1
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], 0
mov r8d, 0x1d
lea rdx, str.HandleRequest_mBytesRead___4_n
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14000dea1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, dword [rbx + 8]
lea r8, str.No_input_message._Buffer_size___d
mov rcx, qword [rbx + 0x30]
mov edx, 0x100000
call fcn.140008bb0
mov rcx, qword [rbx + 0x58]
lea rdx, [rbx + 0x38]
mov qword [rsp + 0x20], rdx
lea r9, [rbx + 0x60]
mov rdx, qword [rbx + 0x30]
mov r8d, eax
mov dword [r9], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
sete al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rcx, qword [rcx + 0x28]
movsx eax, byte [rcx]
movsx edx, byte [rcx + 1]
shl eax, 8
or edx, eax
movsx eax, byte [rcx + 2]
shl edx, 8
or edx, eax
movsx eax, byte [rcx + 3]
shl edx, 8
or edx, eax
cmp edx, 0x4e544653
ja 0x14000e0e1
je 0x14000e0c5
cmp edx, 0x48574e44
ja 0x14000e026
je 0x14000e00a
sub edx, 0x41435456
je 0x14000dfeb
sub edx, 0xedcdd
je 0x14000dfc7
sub edx, 1
je 0x14000dfa3
sub edx, 0x2f12322
je 0x14000df87
cmp edx, 0xeed01
jne 0x14000e1d9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x60]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov edx, 0xe
mov rcx, rbx
call qword [rax + 0xe8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov edx, 0xd
mov rcx, rbx
call qword [rax + 0xe8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0xd0]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
cmp edx, 0x49444c45
je 0x14000e0a6
cmp edx, 0x4b455949
je 0x14000e08a
cmp edx, 0x4d4f5657
je 0x14000e06b
cmp edx, 0x4e4f4152
jne 0x14000e1d9
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0xe8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0xc0]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x80]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x48]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
cmp edx, 0x53545254
ja 0x14000e1a9
je 0x14000e18d
cmp edx, 0x504d3243
je 0x14000e171
cmp edx, 0x50554c53
je 0x14000e155
cmp edx, 0x52534850
je 0x14000e136
cmp edx, 0x53544f50
jne 0x14000e1d9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0xc8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x58]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
cmp edx, 0x53574e44
je 0x14000e2c5
cmp edx, 0x53575356
je 0x14000e2a9
cmp edx, 0x5550564d
je 0x14000e28d
cmp edx, 0x58544653
je 0x14000e271
mov rax, qword [rbx + 0x30]
lea r9, [rbx + 0x60]
mov r8d, 0xb
mov byte [rax], 0x4e
mov rax, qword [rbx + 0x30]
mov byte [rax + 1], 0x6f
mov rax, qword [rbx + 0x30]
mov byte [rax + 2], 0x74
mov rax, qword [rbx + 0x30]
mov byte [rax + 3], 0x20
mov rax, qword [rbx + 0x30]
mov byte [rax + 4], 0x68
mov rax, qword [rbx + 0x30]
mov byte [rax + 5], 0x61
mov rax, qword [rbx + 0x30]
mov byte [rax + 6], 0x6e
mov rax, qword [rbx + 0x30]
mov byte [rax + 7], 0x64
mov rax, qword [rbx + 0x30]
mov byte [rax + 8], 0x6c
mov rax, qword [rbx + 0x30]
mov byte [rax + 9], 0x65
mov rax, qword [rbx + 0x30]
mov byte [rax + 0xa], 0x64
lea rax, [rbx + 0x38]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x58]
mov qword [rsp + 0x20], rax
mov dword [r9], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
sete al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140183d70
add rsp, 0x40
pop rbx
ret