Function at 0x14000e940
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x140213010]
xor rax, rsp
mov qword [rsp + 0x38], rax
cmp dword [rcx + 8], 4
mov rbx, rcx
jae 0x14000ea08
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 0x14000e9b1
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 0x14000e9b1
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.1400096e0
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.14019ce50
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 0x14000ebf1
je 0x14000ebd5
cmp edx, 0x48574e44
ja 0x14000eb36
je 0x14000eb1a
sub edx, 0x41435456
je 0x14000eafb
sub edx, 0xedcdd
je 0x14000ead7
sub edx, 1
je 0x14000eab3
sub edx, 0x2f12322
je 0x14000ea97
cmp edx, 0xeed01
jne 0x14000ece9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
add rsp, 0x40
pop rbx
ret
cmp edx, 0x49444c45
je 0x14000ebb6
cmp edx, 0x4b455949
je 0x14000eb9a
cmp edx, 0x4d4f5657
je 0x14000eb7b
cmp edx, 0x4e4f4152
jne 0x14000ece9
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0xe8]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
add rsp, 0x40
pop rbx
ret
cmp edx, 0x53545254
ja 0x14000ecb9
je 0x14000ec9d
cmp edx, 0x504d3243
je 0x14000ec81
cmp edx, 0x50554c53
je 0x14000ec65
cmp edx, 0x52534850
je 0x14000ec46
cmp edx, 0x53544f50
jne 0x14000ece9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
add rsp, 0x40
pop rbx
ret
cmp edx, 0x53574e44
je 0x14000edd5
cmp edx, 0x53575356
je 0x14000edb9
cmp edx, 0x5550564d
je 0x14000ed9d
cmp edx, 0x58544653
je 0x14000ed81
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
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.14019ce50
add rsp, 0x40
pop rbx
ret