Function at 0x14003f370
Capabilities:
Create process on windows

Disassembly:
push rbp
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x140052010]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov ecx, 0x4020
call qword [sym.imp.SDL2.dll_SDL_Init]
test eax, eax
js 0x140040051
mov edx, 1
lea ecx, [rdx + 4]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 8
lea ecx, [rdx - 1]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 8
lea ecx, [rdx - 6]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 8
xor ecx, ecx
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 8
lea ecx, [rdx - 7]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 8
lea ecx, [rdx - 5]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
xor edx, edx
lea ecx, [rdx + 0x10]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 3
lea ecx, [rdx + 0xe]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
mov edx, 2
lea ecx, [rdx + 0x10]
call qword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
cmp qword [0x140052098], 0x10
lea rcx, [0x140052080]
mov edx, 0x2fff0000
mov dword [rsp + 0x28], 0xa012
cmovae rcx, qword [0x140052080]
mov r9d, 0x268
mov r8d, edx
mov dword [rsp + 0x20], 0x161
call qword [sym.imp.SDL2.dll_SDL_CreateWindow]
mov qword [0x1400529d0], rax
test rax, rax
je 0x140040051
mov qword [rsp + 0x2a0], rbx
mov rcx, rax
mov qword [rsp + 0x280], r13
call qword [sym.imp.SDL2.dll_SDL_GL_CreateContext]
mov rcx, qword [0x1400529d0]
xor r13d, r13d
mov qword [0x1400529c8], rax
test rax, rax
jne 0x14003f4b0
call qword [sym.imp.SDL2.dll_SDL_DestroyWindow]
mov rax, qword [0x1400529c8]
mov ecx, r13d
mov qword [0x1400529d0], rcx
mov rdx, rax
call qword [sym.imp.SDL2.dll_SDL_GL_MakeCurrent]
lea rdx, [0x14004a048]
lea rcx, str.Fugl.bmp
call qword [sym.imp.SDL2.dll_SDL_RWFromFile]
mov rcx, rax
mov edx, 1
call qword [sym.imp.SDL2.dll_SDL_LoadBMP_RW]
test rax, rax
je 0x14003f4f0
mov rcx, qword [0x1400529d0]
mov rdx, rax
call qword [sym.imp.SDL2.dll_SDL_SetWindowIcon]
mov rax, qword [sym.imp.glew32.dll_glewExperimental]
mov byte [rax], 1
call qword [sym.imp.glew32.dll_glewInit]
mov rbx, qword [0x140052978]
test rbx, rbx
je 0x14003f512
inc dword [rbx + 0xf4]
mov ecx, 0x5e20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14003f52e
xor edx, edx
mov rcx, rax
call fcn.140004030
jmp 0x14003f531
mov rax, r13
mov qword [0x140052978], rax
call fcn.140007670
test rbx, rbx
je 0x14003f549
mov qword [0x140052978], rbx
xor ecx, ecx
call fcn.1400221d0
mov rcx, qword [0x1400529d0]
call fcn.140003230
call fcn.140001370
cmp qword [0x1400520d8], 0x10
lea rdx, [0x1400520c0]
lea r8, [0x14004a048]
mov dword [rbp + 0x64], r13d
cmovae rdx, qword [0x1400520c0]
lea rcx, [rsp + 0x50]
mov dword [rbp + 0x60], r13d
mov dword [rbp + 0x6c], r13d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
test eax, eax
je 0x14003f5a4
mov rbx, r13
mov qword [rsp + 0x50], rbx
jmp 0x14003f5a9
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x2b0], rdi
test rbx, rbx
je 0x14004003b
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.14002fbe0
lea r9, [rbp + 0x6c]
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x64]
lea rcx, [rsp + 0x60]
call fcn.1400304f0
mov rdi, rax
mov rcx, rbx
test rax, rax
je 0x140040035
mov edx, dword [rbp + 0x18]
mov r8d, 1
sub edx, dword [rbp + 0x20]
mov qword [rsp + 0x2a8], rsi
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x278], r14
movaps xmmword [rsp + 0x260], xmm6
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov r8d, dword [rbp + 0x60]
mov rcx, rdi
mov edx, dword [rbp + 0x64]
call fcn.1400303e0
lea rdx, [rbp + 0x68]
mov ecx, 1
call qword [sym.imp.OPENGL32.dll_glGenTextures]
mov edx, dword [rbp + 0x68]
mov ecx, 0xde1
call qword [sym.imp.OPENGL32.dll_glBindTexture]
mov edx, 0x2801
mov ecx, 0xde1
mov r8d, 0x2601
call qword [sym.imp.OPENGL32.dll_glTexParameteri]
mov edx, 0x2800
mov ecx, 0xde1
mov r8d, 0x2601
call qword [sym.imp.OPENGL32.dll_glTexParameteri]
mov edx, 0x2802
mov ecx, 0xde1
mov r8d, 0x812f
call qword [sym.imp.OPENGL32.dll_glTexParameteri]
mov edx, 0x2803
mov ecx, 0xde1
mov r8d, 0x812f
call qword [sym.imp.OPENGL32.dll_glTexParameteri]
xor edx, edx
mov ecx, 0xcf2
call qword [sym.imp.OPENGL32.dll_glPixelStorei]
mov eax, dword [rbp + 0x60]
xor edx, edx
mov r9d, dword [rbp + 0x64]
mov ecx, 0xde1
mov qword [rsp + 0x40], rdi
mov r8d, 0x1908
mov dword [rsp + 0x38], 0x1401
mov dword [rsp + 0x30], 0x1908
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call qword [sym.imp.OPENGL32.dll_glTexImage2D]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [sym.imp.glew32.dll___glewGenFramebuffers]
lea rdx, [0x14005298c]
mov ecx, 1
mov r9, qword [rax]
call r9
mov rax, qword [sym.imp.glew32.dll___glewBindFramebuffer]
mov ecx, 0x8ca8
mov edx, dword [0x14005298c]
mov r9, qword [rax]
call r9
mov rax, qword [sym.imp.glew32.dll___glewFramebufferTexture2D]
mov edx, 0x8ce0
mov r9d, dword [rbp + 0x68]
mov r8d, 0xde1
mov dword [rsp + 0x20], r13d
mov r10, qword [rax]
lea ecx, [rdx - 0x38]
call r10
movss xmm6, dword [0x14004a804]
xor bl, bl
test bl, bl
jne 0x14003f89b
lea rcx, [rbp + 0x88]
call qword [sym.imp.SDL2.dll_SDL_PollEvent]
test eax, eax
je 0x14003f79e
cmp dword [rbp + 0x88], 0x100
je 0x14003f79e
lea rcx, [rbp + 0x88]
call fcn.140002ce0
test al, al
jne 0x14003f79e
lea rcx, [rbp + 0x88]
call qword [sym.imp.SDL2.dll_SDL_PollEvent]
test eax, eax
jne 0x14003f771
mov rax, qword [0x140052978]
test rax, rax
je 0x14003f7b3
mov rcx, qword [rax + 0xa0]
jmp 0x14003f7b6
mov rcx, r13
cmp dword [rcx + 0x28], r13d
jne 0x14003f7c1
call fcn.1400020d0
call fcn.140003b00
call fcn.140009050
call fcn.14003ede0
movzx ebx, al
call fcn.14000b110
xor edx, edx
xor ecx, ecx
mov r9d, 0x161
mov r8d, 0x268
call qword [sym.imp.OPENGL32.dll_glViewport]
movaps xmm3, xmm6
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
call qword [sym.imp.OPENGL32.dll_glClearColor]
mov ecx, 0x4000
call qword [sym.imp.OPENGL32.dll_glClear]
mov rcx, qword [sym.imp.glew32.dll___glewBindFramebuffer]
xor edx, edx
mov rax, qword [rcx]
mov ecx, 0x8ca9
call rax
mov rax, qword [sym.imp.glew32.dll___glewBlitFramebuffer]
xor edx, edx
mov dword [rsp + 0x48], 0x2601
xor ecx, ecx
mov dword [rsp + 0x40], 0x4000
mov r9d, 0x161
mov dword [rsp + 0x38], 0x161
mov r8d, 0x268
mov r10, qword [rax]
mov dword [rsp + 0x30], 0x268
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call r10
mov rax, qword [0x140052978]
mov rax, qword [rax + 0x48a0]
mov rcx, qword [rax]
add rcx, 0x48
cmp byte [rcx], r13b
je 0x14003f889
test rcx, rcx
je 0x14003f889
call fcn.140001940
mov rcx, qword [0x1400529d0]
call qword [sym.imp.SDL2.dll_SDL_GL_SwapWindow]
jmp 0x14003f758
cmp qword [0x1400520b8], 0x10
lea r14, [0x1400520a0]
mov rsi, qword [0x1400520b0]
xorps xmm0, xmm0
cmovae r14, qword [0x1400520a0]
movabs r12, 0x7fffffffffffffff
mov qword [rsp + 0x270], r15
mov rdi, r13
movaps xmm6, xmmword [rsp + 0x260]
mov qword [rbp + 0x80], r13
movdqu xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x40], xmm0
cmp rsi, r12
ja 0x140040067
movabs rdx, 0x8000000000000000
mov r8d, 0x16
cmp rsi, 0x10
jae 0x14003f922
mov ecx, 0xf
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rcx
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x40], xmm0
jmp 0x14003f9b8
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x14003f937
mov rbx, r12
lea rax, [rdx + 0x27]
jmp 0x14003f958
cmp rbx, r8
cmovb rbx, r8
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003f97a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004006d
mov rcx, rax
call fcn.1400407ec
mov rcx, rax
test rax, rax
je 0x140040019
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14003f989
test rcx, rcx
je 0x14003f986
call fcn.1400407ec
jmp 0x14003f989
mov rax, r13
lea r8, [rsi + 1]
mov qword [rbp + 0x40], rax
mov rdx, r14
mov qword [rbp + 0x50], rsi
mov rcx, rax
mov qword [rbp + 0x58], rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x58]
movabs rdx, 0x8000000000000000
mov r8d, 0x16
cmp byte [0x1400529e0], dil
je 0x14003fb23
mov rsi, qword [rbp + 0x50]
mov rax, r12
sub rax, rsi
cmp rax, 0xc
jb 0x140040067
cmp rcx, 0x10
lea r15, [rbp + 0x40]
lea r14, [rsi + 0xc]
mov ebx, 0xf
cmovae r15, qword [rbp + 0x40]
lea rdi, [rbp + 0x88]
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
cmp r14, rbx
jbe 0x14003fa74
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
jbe 0x14003fa1a
mov rbx, r12
lea rax, [rdx + 0x27]
jmp 0x14003fa3c
cmp rbx, 0x16
cmovb rbx, r8
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003fa5b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004006d
mov rcx, rax
call fcn.1400407ec
test rax, rax
je 0x140040019
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14003fa6d
test rcx, rcx
je 0x14003fa6a
call fcn.1400407ec
mov rdi, rax
jmp 0x14003fa6d
mov rdi, r13
mov qword [rbp + 0x88], rdi
mov r8, rsi
mov qword [rbp + 0x98], r14
mov rdx, r15
mov qword [rbp + 0xa0], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.___resetGame]
movsd qword [rdi + rsi], xmm0
mov eax, dword [0x14004a678]
mov dword [rdi + rsi + 8], eax
mov byte [rdi + r14], r13b
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14003fae6
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fae1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040019
call fcn.140040774
movups xmm0, xmmword [rbp + 0x88]
lea rax, str.__resetGame
xor edx, edx
movups xmm1, xmmword [rbp + 0x98]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x50], rax
lea rcx, [rbp + 0x70]
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm1
call fcn.140040080
mov rcx, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x80]
mov edx, dword [0x1400529e4]
sub edx, 1
je 0x14003fc88
cmp edx, 1
jne 0x14003fe0d
mov r14, qword [rbp + 0x50]
mov rax, r12
sub rax, r14
cmp rax, 9
jb 0x140040067
cmp rcx, 0x10
lea r12, [rbp + 0x40]
lea r15, [r14 + 9]
mov ebx, 0xf
cmovae r12, qword [rbp + 0x40]
lea rsi, [rbp + 0x88]
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
cmp r15, rbx
jbe 0x14003fc07
mov rbx, r15
movabs rax, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rax
jbe 0x14003fba8
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14003fbcf
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003fbee
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004006d
mov rcx, rax
call fcn.1400407ec
test rax, rax
je 0x140040019
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14003fc00
test rcx, rcx
je 0x14003fbfd
call fcn.1400407ec
mov rsi, rax
jmp 0x14003fc00
mov rsi, r13
mov qword [rbp + 0x88], rsi
mov r8, r14
mov qword [rbp + 0x98], r15
mov rdx, r12
mov qword [rbp + 0xa0], rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.___vulkan]
movsd qword [rsi + r14], xmm0
movzx eax, byte [0x14004a6c8]
mov byte [rsi + r14 + 8], al
mov byte [rsi + r15], r13b
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14003fc7c
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fc77
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040019
call fcn.140040774
lea rax, str.__vulkan
jmp 0x14003fdcf
mov r14, qword [rbp + 0x50]
mov rax, r12
sub rax, r14
cmp rax, 0x12
jb 0x140040067
cmp rcx, 0x10
lea r12, [rbp + 0x40]
lea r15, [r14 + 0x12]
mov ebx, 0xf
cmovae r12, qword [rbp + 0x40]
lea rsi, [rbp + 0x88]
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
cmp r15, rbx
jbe 0x14003fd54
mov rbx, r15
movabs rax, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rax
jbe 0x14003fd12
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400407ec
test rax, rax
je 0x140040019
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14003fd4d
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003fd3b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004006d
jmp 0x14003fcf3
test rcx, rcx
je 0x14003fd4a
call fcn.1400407ec
mov rsi, rax
jmp 0x14003fd4d
mov rsi, r13
mov qword [rbp + 0x88], rsi
mov r8, r14
mov qword [rbp + 0x98], r15
mov rdx, r12
mov qword [rbp + 0xa0], rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.___opengl_fallback]
movups xmmword [rsi + r14], xmm0
movzx eax, word [0x14004a6a0]
mov word [rsi + r14 + 0x10], ax
mov byte [rsi + r15], r13b
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14003fdc8
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fdc3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040019
call fcn.140040774
lea rax, str.__opengl_fallback
movups xmm1, xmmword [rbp + 0x98]
mov rdx, qword [rbp + 0x78]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x50], xmm1
movups xmmword [rbp + 0x40], xmm0
cmp rdx, rdi
je 0x14003fdf8
mov qword [rdx], rax
jmp 0x14003fe0d
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.140040080
mov rdi, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x50]
inc rcx
call fcn.140040828
cmp qword [rbp + 0x58], 0x10
lea rdx, [rbp + 0x40]
mov r8, qword [rbp + 0x50]
mov rcx, rax
cmovae rdx, qword [rbp + 0x40]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov rcx, qword [rbp + 0x50]
xorps xmm0, xmm0
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov byte [rcx + rbx], r13b
xor ecx, ecx
mov qword [rbp + 0x140], rax
mov qword [rbp + 0xd0], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0xc0], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov rdx, qword [rbp + 0x58]
test eax, eax
jne 0x14003ffa5
cmp rdx, 0x10
jb 0x14003ff03
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fefe
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040019
call fcn.140040774
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], r13b
test rcx, rcx
je 0x14003ff50
sub rdi, rcx
mov rdx, rcx
and rdi, 0xfffffffffffffff8
cmp rdi, 0x1000
jb 0x14003ff48
mov rcx, qword [rcx - 8]
add rdi, 0x27
sub rdx, rcx
add rdx, 0xfffffffffffffff8
cmp rdx, 0x1f
ja 0x140040019
mov rdx, rdi
call fcn.140040774
mov eax, 5
mov r15, qword [rsp + 0x270]
mov rsi, qword [rsp + 0x2a8]
mov r12, qword [rsp + 0x288]
mov r14, qword [rsp + 0x278]
mov rdi, qword [rsp + 0x2b0]
mov rbx, qword [rsp + 0x2a0]
mov r13, qword [rsp + 0x280]
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140040240
add rsp, 0x290
pop rbp
ret
cmp rdx, 0x10
jb 0x14003ffd8
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ffd3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040019
call fcn.140040774
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], r13b
test rcx, rcx
je 0x140040028
sub rdi, rcx
mov rax, rcx
and rdi, 0xfffffffffffffff8
cmp rdi, 0x1000
jb 0x140040020
mov rcx, qword [rcx - 8]
add rdi, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040020
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rdi
call fcn.140040774
call qword [sym.imp.SDL2.dll_SDL_Quit]
xor eax, eax
jmp 0x14003ff55
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, str.Failed_to_initialize_background_image_n.
call fcn.140003f30
mov eax, 4
jmp 0x14003ff75
lea rcx, str.Failed_to_initialize_SDL._n
call fcn.140003f30
mov eax, 1
jmp 0x14003ff8d
call fcn.14003edc0
int3
call fcn.14003ed20
int3