Function at 0x14009e380
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x358]
sub rsp, 0x458
mov rax, qword [0x1408c1a40]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov eax, dword [0x1408c26b0]
mov rbx, rcx
shr eax, 3
test al, 1
jne 0x14009e3cc
mov rcx, qword [0x1408c2690]
mov edx, 0x77
call fcn.14006a8a0
test al, al
je 0x14009ed0d
mov qword [rsp + 0x478], rsi
mov qword [rsp + 0x480], rdi
lea rdi, [rbx + 0x138]
mov rsi, qword [rdi + 0x10]
mov rcx, rdi
mov qword [rsp + 0x488], r14
mov r14, qword [rdi + 0x18]
cmp r14, 0xf
jbe 0x14009e3ff
mov rcx, qword [rdi]
cmp rsi, 3
jne 0x14009e56a
mov r8, rsi
lea rdx, [0x1400b2a98]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14009e56a
mov ecx, 0x1e
call fcn.140073560
mov ecx, 0x7d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1e
call fcn.1400737c0
mov ecx, 0x244
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1d
call fcn.140073560
mov ecx, 0x3e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.140073560
mov ecx, 0x2f
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1d
call fcn.1400737c0
mov ecx, 0x2f
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.1400737c0
mov ecx, 0x41
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1e
call fcn.140073560
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1e
call fcn.1400737c0
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1d
call fcn.140073560
mov ecx, 0x4b
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1d
call fcn.1400737c0
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.140073560
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.1400737c0
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1e
call fcn.140073560
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1e
call fcn.1400737c0
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.140073560
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1f
call fcn.1400737c0
jmp 0x14009ecf5
cmp r14, 0xf
jbe 0x14009e573
mov rdi, qword [rdi]
cmp rsi, 4
jne 0x14009ecf5
mov r8, rsi
lea rdx, str.BPro
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14009ecf5
xor edx, edx
mov qword [rsp + 0x450], r15
mov r8d, 0x400
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memset
mov r9d, 0x7d
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1e
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_1_for_125ms]
mov rdi, 0xffffffffffffffff
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b6158]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x1400b615c]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], 0
lea rax, [rsp + 0x40]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14009e610
mov rax, qword [rbx + 0x1b8]
xor r15d, r15d
cmp rax, rdi
je 0x14009e68f
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009e65a
cmp dword [rsp + 0x30], r15d
jbe 0x14009e65a
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x38], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009e68f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x244
call fcn.14006c4b0
mov r9d, 0x32
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1d
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_Z_for_50ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b6170]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r15b
lea rax, [rsp + 0x40]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009e702
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009e77e
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009e749
cmp dword [rsp + 0x38], r15d
jbe 0x14009e749
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009e77e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x64
call fcn.14006c4b0
mov r9d, 0x64
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1f
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_2_for_100ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b6188]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x1400b618c]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], r15b
lea rax, [rsp + 0x40]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009e7f2
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009e86e
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009e839
cmp dword [rsp + 0x38], r15d
jbe 0x14009e839
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009e86e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x41
call fcn.14006c4b0
mov r9d, 0xa
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1e
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_1_for_10ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b61a0]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r15b
lea rax, [rsp + 0x40]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009e8e1
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009e95d
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009e928
cmp dword [rsp + 0x38], r15d
jbe 0x14009e928
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009e95d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x104
call fcn.14006c4b0
mov r9d, 0x4b
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1d
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_Z_for_75ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b61b8]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r15b
lea rax, [rsp + 0x40]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009e9d0
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009ea4c
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009ea17
cmp dword [rsp + 0x38], r15d
jbe 0x14009ea17
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009ea4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xa
call fcn.14006c4b0
mov r9d, 0x32
lea rdx, str.km.press__d___d__r_n
mov r8d, 0x1f
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_2_for_50ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b61d0]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r15b
lea rax, [rsp + 0x40]
nop
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009eac0
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009eb3c
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009eb07
cmp dword [rsp + 0x38], r15d
jbe 0x14009eb07
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009eb3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x1e
call fcn.14006c4b0
mov r9d, 0x1e
lea rdx, str.km.press__d___d__r_n
mov r8d, r9d
lea rcx, [rsp + 0x40]
call fcn.140098b70
mov ecx, 0x20
call fcn.1400a4340
movups xmm0, xmmword [str.Pressing_1_for_30ms]
mov r14, rax
mov rsi, rdi
movups xmmword [rax], xmm0
mov ecx, dword [0x1400b61e8]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r15b
lea rax, [rsp + 0x40]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x14009ebb0
mov rax, qword [rbx + 0x1b8]
cmp rax, rdi
je 0x14009ec2c
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009ebf7
cmp dword [rsp + 0x38], r15d
jbe 0x14009ebf7
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, esi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009ec2c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r14
call fcn.1400a3b74
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x1e
call fcn.14006c4b0
mov r8d, 0x1f
lea rdx, str.km.press__d__r_n
lea rcx, [rsp + 0x40]
call fcn.140098b70
lea rax, [rsp + 0x40]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], r15b
jne 0x14009ec70
mov rax, qword [rbx + 0x1b8]
cmp rax, 0xffffffffffffffff
je 0x14009eced
mov rcx, qword [rbx + 0x1b8]
lea rdx, [rsp + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ClearCommError]
test eax, eax
je 0x14009ecb8
cmp dword [rsp + 0x38], r15d
jbe 0x14009ecb8
mov rcx, qword [rbx + 0x1b8]
mov edx, 5
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [rbx + 0x1b8]
lea rax, [rbx + 0x228]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, edi
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14009eced
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15, qword [rsp + 0x450]
mov rdi, qword [rsp + 0x480]
mov rsi, qword [rsp + 0x478]
mov r14, qword [rsp + 0x488]
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.1400a3ff0
add rsp, 0x458
pop rbx
pop rbp
ret