Function at 0x140009390
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rbp, rcx
lea rdi, [rcx + 8]
mov ecx, 0x20
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov rcx, qword [rbp + 0x150]
mov qword [rax + 8], rcx
mov byte [rax + 0x10], 0
lea rax, vtable.casioemu::ROMWindow.0
mov qword [rbx], rax
xor r14d, r14d
mov qword [rbx + 0x18], r14
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
lea ecx, [r14 + 0x10]
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov ecx, 0x1f0
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x1f0
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x150]
mov qword [rbx + 8], rcx
mov byte [rbx + 0x10], r14b
lea rax, vtable.casioemu::BatteryBackedRAM.0
mov qword [rbx], rax
xorps xmm0, xmm0
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x38], r14
mov qword [rbx + 0x40], 0xf
mov byte [rbx + 0x28], r14b
mov byte [rbx + 0x60], r14b
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx + 0x90], r14
mov qword [rbx + 0x98], 0xf
mov byte [rbx + 0x80], r14b
mov byte [rbx + 0xb8], r14b
movups xmmword [rbx + 0xd8], xmm0
mov qword [rbx + 0xe8], r14
mov qword [rbx + 0xf0], 0xf
mov byte [rbx + 0xd8], r14b
mov byte [rbx + 0x110], r14b
movups xmmword [rbx + 0x130], xmm0
mov qword [rbx + 0x140], r14
mov qword [rbx + 0x148], 0xf
mov byte [rbx + 0x130], r14b
mov byte [rbx + 0x168], r14b
movups xmmword [rbx + 0x188], xmm0
mov qword [rbx + 0x198], r14
mov qword [rbx + 0x1a0], 0xf
mov byte [rbx + 0x188], r14b
mov byte [rbx + 0x1c0], r14b
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
lea ecx, [r14 + 0x10]
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov rsi, qword [rbp + 0x150]
mov ecx, dword [rsi + 0x114]
sub ecx, 3
je 0x1400095fb
sub ecx, 1
je 0x1400095cc
sub ecx, 1
je 0x14000959d
cmp ecx, 0x154
je 0x1400095fb
lea ecx, [r14 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.CreateScreen
mov qword [rsp + 0x20], rax
mov r9d, 0x297
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcPeripheralScreen.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
lea ecx, [r14 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Unknown_hardware_id_n
call fcn.140006bd0
lea ecx, [r14 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 0xc430
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0xc430
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
mov rcx, rbx
call fcn.140073370
jmp 0x140009628
mov ecx, 0xc430
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0xc430
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
mov rcx, rbx
call fcn.1400731d0
jmp 0x140009628
mov ecx, 0xc430
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0xc430
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
mov rcx, rbx
call fcn.140073030
mov rbx, rax
mov qword [0x14009aa08], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov ecx, 0x980
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x980
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rbp + 0x150]
mov rcx, rbx
call fcn.14000a430
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov ecx, 0x128
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rcx, qword [rbp + 0x150]
mov qword [rax + 8], rcx
mov byte [rax + 0x10], 0
lea rax, vtable.casioemu::StandbyControl.0
mov qword [rbx], rax
xorps xmm0, xmm0
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x38], r14
mov qword [rbx + 0x40], 0xf
mov byte [rbx + 0x28], 0
mov byte [rbx + 0x60], 0
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx + 0x90], r14
mov qword [rbx + 0x98], 0xf
mov byte [rbx + 0x80], 0
mov byte [rbx + 0xb8], 0
movups xmmword [rbx + 0xd8], xmm0
mov qword [rbx + 0xe8], r14
mov qword [rbx + 0xf0], 0xf
mov byte [rbx + 0xd8], 0
mov byte [rbx + 0x110], 0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov ecx, 0x668
call fcn.14007b24c
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp + 0x150]
mov rcx, rax
call fcn.14000a600
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov ecx, 0x1b0
call fcn.14007b24c
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rcx, qword [rbp + 0x150]
mov qword [rax + 8], rcx
mov byte [rax + 0x10], 0
lea rax, vtable.casioemu::Timer.0
mov qword [rbx], rax
xorps xmm0, xmm0
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x38], r14
mov qword [rbx + 0x40], 0xf
mov byte [rbx + 0x28], 0
mov byte [rbx + 0x60], 0
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx + 0x90], r14
mov qword [rbx + 0x98], 0xf
mov byte [rbx + 0x80], 0
mov byte [rbx + 0xb8], 0
movups xmmword [rbx + 0xd8], xmm0
mov qword [rbx + 0xe8], r14
mov qword [rbx + 0xf0], 0xf
mov byte [rbx + 0xd8], 0
mov byte [rbx + 0x110], 0
movups xmmword [rbx + 0x130], xmm0
mov qword [rbx + 0x140], r14
mov qword [rbx + 0x148], 0xf
mov byte [rbx + 0x130], 0
mov byte [rbx + 0x168], 0
mov qword [rbx + 0x180], 4
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov rax, qword [rbp + 0x150]
cmp dword [rax + 0x114], 5
jne 0x1400098d8
mov ecx, 0x430
call fcn.14007b24c
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp + 0x150]
mov rcx, rax
call fcn.14000a770
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov ecx, 0x10
call fcn.14007b24c
mov qword [rax + 8], rbx
mov rcx, qword [rdi]
mov qword [rax], rcx
mov qword [rdi], rax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret