Function at 0x1400126d0
Capabilities:
Create thread
Terminate process

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x140097040]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rsi, rdx
mov r15, rcx
mov qword [r11 - 0x88], rcx
xor r12d, r12d
mov byte [rcx + 0x19], r12b
xorps xmm0, xmm0
movups xmmword [rcx + 0x20], xmm0
mov qword [rcx + 0x30], r12
mov qword [rcx + 0x38], 0xf
mov byte [rcx + 0x20], r12b
lea rbx, [rcx + 0x80]
mov qword [r11 - 0x58], rbx
mov dword [rbx], r12d
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
movups xmmword [rbx + 0x18], xmm0
movups xmmword [rbx + 0x28], xmm0
movups xmmword [rbx + 0x38], xmm0
mov qword [rbx + 0x48], r12
lea edx, [r12 + 2]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_init_in_situ]
nop
mov qword [rbx + 0x50], r12
lea rdi, [rbx + 0x58]
mov qword [rsp + 0x58], rdi
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r12
lea ecx, [r12 + 0x10]
call fcn.14007b24c
mov qword [rax + 8], r12
mov qword [rdi], rax
mov qword [rax], rdi
mov qword [r15 + 0x118], rsi
mov ecx, 0x1b0
call fcn.14007b24c
mov rdi, rax
mov qword [rsp + 0x58], rax
xor edx, edx
mov r8d, 0x1b0
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, r15
mov rcx, rdi
call fcn.140008940
nop
mov qword [r15 + 0x140], rax
mov qword [rsp + 0x58], rbx
mov rcx, rbx
call fcn.1400150e0
nop
mov byte [r15 + 0x18], 1
mov rdi, qword [r15 + 0x118]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
lea r8d, [r12 + 5]
lea rdx, str.model
lea rcx, [rsp + 0x38]
call fcn.140004e00
nop
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0xc8]
mov rcx, rdi
call fcn.1400155a0
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [r15 + 0x20]
call fcn.140006b40
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140012876
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012871
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012871
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
call qword [sym.imp.lua.dll_luaL_newstate]
mov qword [r15 + 0x100], rax
mov rcx, rax
call qword [sym.imp.lua.dll_luaL_openlibs]
mov edx, 8
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_newuserdata]
mov qword [rax], r15
xor r8d, r8d
xor edx, edx
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_createtable]
xor r8d, r8d
xor edx, edx
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_createtable]
xor r8d, r8d
lea rdx, [0x140014280]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.tick
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
xor r8d, r8d
lea rdx, [0x1400142a0]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.shutdown
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
xor r8d, r8d
lea rdx, [0x1400142c0]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.set_paused
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
xor r8d, r8d
lea rdx, [0x140014300]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.SetClockSpeed
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
mov dword [r15 + 0x108], 0xffffffff
xor r8d, r8d
lea rdx, [0x1400143a0]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.model
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
mov dword [r15 + 0x10c], 0xffffffff
xor r8d, r8d
lea rdx, [0x1400144f0]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.pre_tick
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
mov dword [r15 + 0x110], 0xffffffff
xor r8d, r8d
lea rdx, [0x140014550]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.post_tick
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
lea r8, str.__index
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
xor r8d, r8d
lea rdx, [fcn.1400111d0]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_pushcclosure]
lea r8, str.__newindex
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setfield]
mov edx, 0xfffffffe
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setmetatable]
lea rdx, [0x1400801cc]
mov rcx, qword [r15 + 0x100]
call qword [sym.imp.lua.dll_lua_setglobal]
mov rcx, r15
call fcn.1400145b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov r8d, 0xb
lea rdx, str.hardware_id
lea rcx, [rsp + 0x38]
call fcn.140004e00
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140011e50
mov rcx, rax
call fcn.1400120d0
mov edi, eax
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x140012b35
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012b30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012b30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
lea eax, [rdi - 3]
cmp eax, 2
jbe 0x140012ba1
cmp edi, 0x159
je 0x140012ba1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x1f
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, edi
lea rdx, str.Unknown_hardware_id__d_n
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov dword [r15 + 0x114], edi
cmp edi, 3
jne 0x140012bb4
mov eax, 0x20000
jmp 0x140012bcb
cmp edi, 4
je 0x140012bc6
cmp edi, 0x159
mov eax, 0x200000
jne 0x140012bcb
mov eax, 0x100000
mov dword [r15 + 0x10], eax
mov dword [r15 + 0x14], 0x14
mov qword [r15 + 0x120], r12
mov qword [r15 + 0x128], r12
mov qword [r15 + 0x130], rax
mov dword [r15 + 0x138], 0x14
mov rcx, qword [r15 + 0x140]
call fcn.140008ae0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov r8d, 0xd
lea rdx, str.rsd_interface
lea rcx, [rsp + 0x38]
call fcn.140004e00
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140011e50
lea rdx, [rsp + 0xc8]
mov rcx, rax
call fcn.1400121d0
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [r15 + 0x50], xmm0
movups xmm1, xmmword [rsp + 0xd8]
movups xmmword [r15 + 0x60], xmm1
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x140012cab
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012ca6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012ca6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
cmp dword [r15 + 0x60], 0
jne 0x140013969
cmp dword [r15 + 0x64], 0
jne 0x140013969
mov eax, dword [r15 + 0x68]
mov dword [r15 + 0x70], eax
mov eax, dword [r15 + 0x6c]
mov dword [r15 + 0x74], eax
mov rdi, qword [r15 + 0x118]
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xe0], r12
mov r8d, 5
lea rdx, str.width
lea rcx, [rsp + 0xc8]
call fcn.140004e00
mov rax, qword [rdi]
mov qword [rsp + 0xc0], rax
mov rdi, qword [rax + 8]
mov r13, rax
mov rsi, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xc8]
cmp byte [rdi + 0x19], 0
jne 0x140012db1
cmp qword [rsp + 0xe0], 0xf
seta al
mov byte [rsp + 0x30], al
nop word [rax + rax]
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0xc8]
test al, al
cmovne rdx, r12
mov r14, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140012d70
mov rcx, qword [rcx]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140012d89
jns 0x140012d94
mov al, 1
jmp 0x140012d96
cmp r14, rsi
jae 0x140012d92
mov al, 1
jmp 0x140012d96
jbe 0x140012da0
xor al, al
test al, al
je 0x140012da0
mov rdi, qword [rdi + 0x10]
jmp 0x140012da6
mov r13, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
movzx eax, byte [rsp + 0x30]
je 0x140012d50
cmp byte [r13 + 0x19], 0
jne 0x140012e0e
lea rdx, [r13 + 0x20]
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140012dca
mov rdx, qword [rdx]
lea rcx, [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
cmp r14, 0xf
cmova rcx, r12
mov r8, rsi
cmp rdi, rsi
cmovb r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140012dfb
jns 0x140012e06
mov al, 1
jmp 0x140012e08
cmp rsi, rdi
jae 0x140012e04
mov al, 1
jmp 0x140012e08
jbe 0x140012e1e
xor al, al
test al, al
jne 0x140012e16
jmp 0x140012e1e
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xc0]
cmp r14, 0xf
jbe 0x140012e56
lea rdx, [r14 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140012e4e
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013060
mov rcx, r12
call fcn.14007b5a0
mov rax, qword [r15 + 0x118]
cmp r13, qword [rax]
je 0x140012f29
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
lea rdi, [r13 + 0x40]
cmp qword [rdi + 0x18], 0xf
jbe 0x140012e7d
mov rdi, qword [rdi]
xor r14d, r14d
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov rcx, qword [rsp + 0xc0]
cmp rdi, rcx
jne 0x140012eb1
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
cmp dword [rsi], 0x22
jne 0x140012ec3
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
sub rcx, rdi
mov dword [r15 + 0x70], eax
cmp rcx, qword [r13 + 0x50]
je 0x140012f2c
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x38
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.width_parameter_has_extraneous_trailing_characters_n
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor r14d, r14d
mov rsi, qword [r15 + 0x118]
mov qword [rsp + 0xc0], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], r14
mov r8d, 6
lea rdx, str.height
lea rcx, [rsp + 0xc8]
call fcn.140004e00
mov r13, qword [rsi]
mov rdi, qword [r13 + 8]
mov r12, qword [rsp + 0xc8]
cmp byte [rdi + 0x19], 0
jne 0x14001300d
cmp qword [rsp + 0xe0], 0xf
seta al
mov byte [rsp + 0x30], al
mov r14, qword [rsp + 0xd8]
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0xc8]
test al, al
cmovne rdx, r12
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140012fc1
mov rcx, qword [rcx]
mov r8, rsi
cmp r14, rsi
cmovb r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140012fda
jns 0x140012fe5
mov al, 1
jmp 0x140012fe7
cmp rsi, r14
jae 0x140012fe3
mov al, 1
jmp 0x140012fe7
jbe 0x140012ff1
xor al, al
test al, al
je 0x140012ff1
mov rdi, qword [rdi + 0x10]
jmp 0x140012ff7
mov r13, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
movzx eax, byte [rsp + 0x30]
je 0x140012fa1
mov rsi, qword [rsp + 0xc0]
xor r14d, r14d
cmp byte [r13 + 0x19], 0
jne 0x140013029
lea r8, [r13 + 0x20]
lea rdx, [rsp + 0xc8]
call fcn.1400086a0
test al, al
je 0x14001302c
mov r13, qword [rsi]
mov rax, qword [rsp + 0xe0]
cmp rax, 0xf
jbe 0x14001306f
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140013067
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013067
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14007b5a0
mov rax, qword [r15 + 0x118]
cmp r13, qword [rax]
je 0x14001313f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
lea rdi, [r13 + 0x40]
cmp qword [rdi + 0x18], 0xf
jbe 0x140013096
mov rdi, qword [rdi]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov rcx, qword [rsp + 0xc0]
cmp rdi, rcx
jne 0x1400130c7
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
cmp dword [rsi], 0x22
jne 0x1400130d9
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
sub rcx, rdi
mov dword [r15 + 0x74], eax
cmp rcx, qword [r13 + 0x50]
je 0x14001313f
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.height_parameter_has_extraneous_trailing_characters_n
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
lea rdx, [0x140080008]
lea rcx, str.SDL_RENDER_SCALE_QUALITY
call qword [sym.imp.SDL2.dll_SDL_SetHint]
mov edi, dword [r15 + 0x74]
mov esi, dword [r15 + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov r8d, 0xa
lea rdx, str.model_name
lea rcx, [rsp + 0x38]
call fcn.140004e00
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140011e50
nop
lea rdx, [rsp + 0xc8]
mov rcx, rax
call fcn.140011f90
cmp qword [rax + 0x18], 0xf
jbe 0x1400131b1
mov rax, qword [rax]
mov dword [rsp + 0x28], 0x24
mov dword [rsp + 0x20], edi
mov r9d, esi
mov edx, 0x1fff0000
mov r8d, edx
mov rcx, rax
call qword [sym.imp.SDL2.dll_SDL_CreateWindow]
mov qword [r15 + 0x78], rax
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0xf
jbe 0x14001321b
inc rdx
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013216
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013216
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x14001327a
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013275
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013275
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
mov rcx, qword [r15 + 0x78]
test rcx, rcx
jne 0x1400132e8
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x56
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
call qword [sym.imp.SDL2.dll_SDL_GetError]
mov rbx, rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.SDL_CreateWindow_failed:__s_n
mov rcx, rax
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor r8d, r8d
lea edx, [r8 - 1]
call qword [sym.imp.SDL2.dll_SDL_CreateRenderer]
mov qword [r15], rax
test rax, rax
jne 0x140013360
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x59
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
call qword [sym.imp.SDL2.dll_SDL_GetError]
mov rbx, rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.SDL_CreateRenderer_failed:__s_n
mov rcx, rax
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov r8d, 0x14
lea rdx, str.interface_image_path
lea rcx, [rsp + 0x38]
call fcn.140004e00
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140011e50
nop
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.140011f90
mov r8, rax
lea rdx, [rsp + 0xc8]
mov rcx, r15
call fcn.1400147b0
cmp qword [rax + 0x18], 0xf
jbe 0x1400133c9
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.SDL2_image.dll_IMG_Load]
mov rdi, rax
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0xf
jbe 0x14001341b
inc rdx
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013416
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013416
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x14001347a
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013475
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140013475
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007b5a0
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], 0xf
mov byte [rsp + 0x68], 0
test rdi, rdi
jne 0x1400134f2
lea ecx, [rdi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 0x5d]
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
call qword [sym.imp.SDL2.dll_SDL_GetError]
mov rbx, rax
lea ecx, [rdi + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.IMG_Load_failed:__s_n
mov rcx, rax
call fcn.140006bd0
lea ecx, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rdx, rdi
mov rcx, qword [r15]
call qword [sym.imp.SDL2.dll_SDL_CreateTextureFromSurface]
mov qword [r15 + 8], rax
mov rcx, rdi
call qword [sym.imp.SDL2.dll_SDL_FreeSurface]
mov rcx, qword [r15 + 0x140]
call fcn.1400098f0
mov qword [r15 + 0x120], r14
mov qword [r15 + 0x128], r14
mov ecx, 0x10
call fcn.14007b24c
mov rdi, rax
mov qword [rsp + 0xc0], rax
mov ecx, 8
call fcn.14007b24c
mov qword [rax], r15
mov qword [rsp + 0xc8], rax
lea rsi, [rdi + 8]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140015ab0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x14001395a
mov qword [r15 + 0x48], rdi
mov rcx, r15
call fcn.140013ff0
mov rcx, qword [r15 + 0x140]
call fcn.14000a130
mov rdi, qword [r15 + 0x118]
mov qword [rsp + 0xc0], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], r14
mov r8d, 6
lea rdx, str.paused
lea rcx, [rsp + 0xc8]
call fcn.140004e00
mov r13, qword [rdi]
mov rdi, qword [r13 + 8]
mov rsi, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xc8]
cmp byte [rdi + 0x19], 0
jne 0x140013671
cmp qword [rsp + 0xe0], 0xf
seta al
mov byte [rsp + 0x30], al
nop word [rax + rax]
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0xc8]
test al, al
cmovne rdx, r12
mov r14, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140013630
mov rcx, qword [rcx]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140013649
jns 0x140013654
mov al, 1
jmp 0x140013656
cmp r14, rsi
jae 0x140013652
mov al, 1
jmp 0x140013656
jbe 0x140013660
xor al, al
test al, al
je 0x140013660
mov rdi, qword [rdi + 0x10]
jmp 0x140013666
mov r13, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
movzx eax, byte [rsp + 0x30]
je 0x140013610
cmp byte [r13 + 0x19], 0
jne 0x1400136ce
lea rdx, [r13 + 0x20]
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14001368a
mov rdx, qword [rdx]
lea rcx, [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
cmp r14, 0xf
cmova rcx, r12
mov r8, rsi
cmp rdi, rsi
cmovb r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400136bb
jns 0x1400136c6
mov al, 1
jmp 0x1400136c8
cmp rsi, rdi
jae 0x1400136c4
mov al, 1
jmp 0x1400136c8
jbe 0x1400136e2
xor al, al
test al, al
jne 0x1400136d6
jmp 0x1400136e2
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xc0]
mov r13, qword [r13]
mov rax, qword [r15 + 0x118]
mov rdi, qword [rax]
cmp r14, 0xf
jbe 0x140013724
lea rdx, [r14 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14001371c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400138af
mov rcx, r12
call fcn.14007b5a0
cmp r13, rdi
je 0x14001372e
mov byte [r15 + 0x19], 1
mov rdi, qword [r15 + 0x118]
mov qword [rsp + 0xc0], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
xor eax, eax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
lea r8d, [rax + 0x12]
lea rdx, str.pause_on_mem_error
lea rcx, [rsp + 0xc8]
call fcn.140004e00
mov r13, qword [rdi]
mov rdi, qword [r13 + 8]
mov rsi, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xc8]
cmp byte [rdi + 0x19], 0
jne 0x140013801
cmp qword [rsp + 0xe0], 0xf
seta al
mov byte [rsp + 0x30], al
nop
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0xc8]
test al, al
cmovne rdx, r12
mov r14, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400137c0
mov rcx, qword [rcx]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400137d9
jns 0x1400137e4
mov al, 1
jmp 0x1400137e6
cmp r14, rsi
jae 0x1400137e2
mov al, 1
jmp 0x1400137e6
jbe 0x1400137f0
xor al, al
test al, al
je 0x1400137f0
mov rdi, qword [rdi + 0x10]
jmp 0x1400137f6
mov r13, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
movzx eax, byte [rsp + 0x30]
je 0x1400137a0
cmp byte [r13 + 0x19], 0
jne 0x14001385e
lea rdx, [r13 + 0x20]
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14001381a
mov rdx, qword [rdx]
lea rcx, [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
cmp r14, 0xf
cmova rcx, r12
mov r8, rsi
cmp rdi, rsi
cmovb r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001384b
jns 0x140013856
mov al, 1
jmp 0x140013858
cmp rsi, rdi
jae 0x140013854
mov al, 1
jmp 0x140013858
jbe 0x140013872
xor al, al
test al, al
jne 0x140013866
jmp 0x140013872
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xc0]
mov r13, qword [r13]
mov rax, qword [r15 + 0x118]
cmp r13, qword [rax]
setne al
mov byte [r15 + 0x40], al
cmp r14, 0xf
jbe 0x1400138bf
lea rdx, [r14 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400138b6
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400138b6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14007b5a0
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400138d8
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
jne 0x1400138f3
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
sub dword [rbx + 0x54], 1
jne 0x140013920
mov dword [rbx + 0x50], 0
cmp qword [rbx + 0x78], 0
je 0x140013920
mov rdx, qword [rbx + 0x68]
dec rdx
and rdx, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x60]
mov rcx, qword [rcx + rdx*8]
call qword [sym.imp.MSVCP140.dll__Cnd_signal]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rax, r15
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.14007af90
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov dword [rsi], r14d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rax, str.Emulator
mov qword [rsp + 0x20], rax
mov r9d, 0x2b
lea r8, str.C:Users15874_source_reposCasioEmuXCasioEmuMsvcEmulator.cpp
lea rdx, str._s:_i:_in__s:
call fcn.140006bd0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.rsd_interface_must_have_dest_x_and_y_coordinate_zero_n
call fcn.140006bd0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3