Function at 0x1000c320
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1013d078
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x200
mov eax, dword [0x1018e4ac]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.SDL2.dll_SDL_SetMainReady]
call fcn.1003d7a0
mov esi, eax
test esi, esi
js 0x1000c438
movaps xmm0, xmmword [0x101840a0]
mov cl, 0x30
mov byte [ebp - 0x20], 0x75
mov dl, 7
xor cl, byte [ebp - 0x20]
mov ch, dl
mov byte [ebp - 0x1f], cl
mov al, ch
mov cl, byte [ebp - 0x20]
mov dh, 0x1a
mov ah, 0x54
mov byte [ebp - 0x19], 0
xor ch, cl
mov word [ebp - 0x19], 0x100
xor dl, cl
mov byte [ebp - 0x1d], ch
xor dh, cl
mov byte [ebp - 0x1e], dl
xor al, cl
mov byte [ebp - 0x1c], dh
xor ah, cl
mov byte [ebp - 0x1b], al
movups xmmword [ebp - 0x1f0], xmm0
xor ecx, ecx
mov byte [ebp - 0x1a], ah
movaps xmm0, xmmword [0x10184080]
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d0], 0x6948262f
mov dword [ebp - 0x1cc], 0x69402672
mov dword [ebp - 0x1c8], 0x626873
mov byte [ebp - 0x1c4], 0
nop word [eax + eax]
mov al, byte [ebp - 0x1f0]
xor byte [ebp + ecx - 0x1ef], al
inc ecx
cmp ecx, 0x2a
jb 0x1000c400
push 0x10
lea eax, [ebp - 0x1f]
mov word [ebp - 0x1c5], 0x100
push eax
lea eax, [ebp - 0x1ef]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, esi
jmp 0x1000d410
push 0x30
call dword [sym.imp.SDL2.dll_SDL_Init]
add esp, 4
test eax, eax
je 0x1000c4a0
mov byte [ebp - 0x20], 0x52
mov al, 0x17
xor al, byte [ebp - 0x20]
mov cl, 0x20
mov dl, cl
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0x20]
mov ch, cl
mov ah, 0x3d
mov byte [ebp - 0x19], 0
mov dh, 0x73
mov word [ebp - 0x19], 0x100
xor cl, al
xor dl, al
xor ah, al
mov byte [ebp - 0x1e], cl
xor ch, al
mov byte [ebp - 0x1d], dl
xor dh, al
mov byte [ebp - 0x1c], ah
mov byte [ebp - 0x1b], ch
mov byte [ebp - 0x1a], dh
call dword [sym.imp.SDL2.dll_SDL_GetError]
push 0x10
lea ecx, [ebp - 0x1f]
push ecx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
or eax, 0xffffffff
jmp 0x1000d410
push 0x98
lea eax, [ebp - 0xe0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0xe0]
call fcn.1000de10
mov dword [ebp - 4], 0
mov esi, dword [sym.imp.SDL2.dll_SDL_GetBasePath]
call esi
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.1000e2d0
movaps xmm0, xmmword [0x101841a0]
add esp, 8
mov edx, eax
mov dword [ebp - 0x1d0], 0x7c67607b
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1cc], 0x66616a26
xor ecx, ecx
mov word [ebp - 0x1c8], 0
nop
mov al, byte [ebp - 0x1e0]
xor byte [ebp + ecx - 0x1df], al
inc ecx
cmp ecx, 0x17
jb 0x1000c510
lea eax, [ebp - 0x1df]
mov word [ebp - 0x1c8], 0x100
push eax
push edx
call fcn.1000e2d0
add esp, 8
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0xe0]
push eax
call fcn.1000dd20
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 0x1b8], 0
jb 0x1000c561
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x208]
call fcn.1000e7d0
add esp, 0xc
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 2
call fcn.1000bf30
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1b1], al
cmp ecx, 8
jb 0x1000c5cc
mov edx, dword [ebp - 0x208]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c5c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c612
push ecx
push edx
call fcn.1013b2c9
add esp, 8
xor eax, eax
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
cmp ecx, 0x10
jb 0x1000c622
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c618
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000c618
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1013b2c9
add esp, 8
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1000dd20
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 0x1b8], 0
jb 0x1000c647
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x208]
call fcn.1000e7d0
add esp, 0xc
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 4
call fcn.1000c000
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1b2], al
cmp ecx, 8
jb 0x1000c6b2
mov edx, dword [ebp - 0x208]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c6a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c6f8
push ecx
push edx
call fcn.1013b2c9
add esp, 8
xor eax, eax
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
cmp ecx, 0x10
jb 0x1000c708
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c6fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000c6fe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1013b2c9
add esp, 8
cmp byte [ebp - 0x1b1], 0
je 0x1000d31d
cmp byte [ebp - 0x1b2], 0
jne 0x1000d31d
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
lea ecx, [ebp - 0xdc]
call fcn.1000dc70
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
push 0x98
lea eax, [ebp - 0xe0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0xe0]
call fcn.1000de10
mov dword [ebp - 4], 5
call esi
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.1000e2d0
movaps xmm0, xmmword [0x10183800]
add esp, 8
mov edx, eax
mov dword [ebp - 0x24], 0x3825
movups xmmword [ebp - 0x34], xmm0
xor ecx, ecx
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x11
jb 0x1000c7c3
lea eax, [ebp - 0x33]
mov word [ebp - 0x22], 0x100
push eax
push edx
call fcn.1000e2d0
add esp, 8
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0xe0]
push eax
call fcn.1000dd20
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 0x1b8], 0
jb 0x1000c808
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x208]
call fcn.1000e7d0
add esp, 0xc
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 7
call fcn.1000bf30
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1b2], al
cmp ecx, 8
jb 0x1000c873
mov edx, dword [ebp - 0x208]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c869
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c8ba
push ecx
push edx
call fcn.1013b2c9
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
cmp ecx, 0x10
jb 0x1000c8ca
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c8c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000c8c0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1013b2c9
add esp, 8
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1000dd20
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 0x1b8], 0
jb 0x1000c8ef
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x208]
call fcn.1000e7d0
add esp, 0xc
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 9
call fcn.1000c000
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 0x1b1], al
cmp ecx, 8
jb 0x1000c95a
mov edx, dword [ebp - 0x208]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c950
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000c9a1
push ecx
push edx
call fcn.1013b2c9
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
cmp ecx, 0x10
jb 0x1000c9b1
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000c9a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000c9a7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1013b2c9
add esp, 8
cmp byte [ebp - 0x1b2], 0
je 0x1000d246
cmp byte [ebp - 0x1b1], 0
jne 0x1000d246
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
lea ecx, [ebp - 0xdc]
call fcn.1000dc70
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x30]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [ebp - 0x28], 0
je 0x1000d1aa
mov edi, dword [ebp - 0x24]
test edi, edi
je 0x1000d1aa
mov esi, dword [sym.imp.SDL2.dll_SDL_GL_SetAttribute]
push 1
push 5
call esi
push 0x18
push 6
call esi
push 8
push 7
call esi
push 2
push 0x11
call esi
push 2
push 0x12
call esi
movd xmm0, edi
add esp, 0x28
cvtdq2pd xmm0, xmm0
mov cl, 5
mov dword [ebp - 0x30], 0x6a774705
mov dword [ebp - 0x2c], 0x77607672
xor eax, eax
mov word [ebp - 0x24], 0
divsd xmm0, qword [0x10182e78]
cvttsd2si edx, xmm0
movd xmm0, dword [ebp - 0x28]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x28], 0x37413149
divsd xmm0, qword [0x10182e90]
cvttsd2si esi, xmm0
xor byte [ebp + eax - 0x2f], cl
inc eax
cmp eax, 0xb
jae 0x1000cac0
mov cl, byte [ebp - 0x30]
jmp 0x1000cab1
push 0x2016
push edx
push esi
push 0x2fff0000
lea eax, [ebp - 0x2f]
mov word [ebp - 0x24], 0x100
push 0x2fff0000
push eax
call dword [sym.imp.SDL2.dll_SDL_CreateWindow]
mov edi, eax
push edi
mov dword [ebp - 0x1b8], edi
call dword [sym.imp.SDL2.dll_SDL_GL_CreateContext]
add esp, 0x1c
mov dword [ebp - 0x1bc], eax
push eax
push edi
call dword [sym.imp.SDL2.dll_SDL_GL_MakeCurrent]
push 1
call dword [sym.imp.SDL2.dll_SDL_GL_SetSwapInterval]
add esp, 0xc
call fcn.1001ddf0
mov esi, dword [0x10191030]
mov dword [ebp - 0x20c], esi
call fcn.10033f70
mov ecx, edi
call fcn.1003e270
mov eax, dword [0x10191030]
push ecx
mov dword [eax + 0xc0], str.imgui_impl_opengl2
mov ecx, dword [esi + 0x98]
call fcn.10037360
mov esi, dword [sym.imp.SDL2.dll_SDL_PollEvent]
mov byte [0x1018fe8c], 0
lea eax, [ebp - 0x1b0]
push eax
call esi
add esp, 4
test eax, eax
je 0x1000cb7c
lea ecx, [ebp - 0x1b0]
call fcn.1003dcc0
lea eax, [ebp - 0x1b0]
push eax
call esi
add esp, 4
test eax, eax
jne 0x1000cb61
cmp byte [0x101991b0], 0
je 0x1000cc0e
push edi
call dword [sym.imp.SDL2.dll_SDL_GetWindowFlags]
add esp, 4
test eax, 0x200
je 0x1000cc0e
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1018fe3c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1019b16c]
cmp eax, dword [ecx + 4]
jle 0x1000cbe9
push 0x1019b16c
call fcn.1013b1a0
add esp, 4
cmp dword [0x1019b16c], 0xffffffff
jne 0x1000cbe9
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
add eax, 0x3e94
push 0x1019b16c
mov dword [0x1019b170], eax
call fcn.1013b156
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
test edx, edx
jb 0x1000cc0e
ja 0x1000cbfd
cmp eax, dword [0x1019b170]
jbe 0x1000cc0e
mov dword [ebp - 0x1b0], 0x100
mov byte [0x1018fe8c], 1
cmp dword [0x1019912c], 0
jne 0x1000cd63
mov eax, dword [0x10191030]
mov edi, dword [eax + 0x98]
lea ecx, [eax + 0x98]
mov dword [ebp - 0x18], ecx
cmp dword [edi + 0x18], 0
jne 0x1000cca9
cmp dword [edi + 0x14], 0
jne 0x1000cc55
cmp dword [edi + 0x4c], 0
jne 0x1000cc49
push ecx
mov ecx, edi
call fcn.10037360
mov ecx, edi
call fcn.10037680
mov eax, dword [0x10191030]
mov esi, dword [edi + 0x14]
test esi, esi
je 0x1000cca9
mov ecx, dword [edi + 0x1c]
imul ecx, dword [edi + 0x20]
shl ecx, 2
test eax, eax
je 0x1000cc70
inc dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [edi + 0x1c]
add esp, 4
imul ecx, dword [edi + 0x20]
mov edx, eax
mov dword [edi + 0x18], edx
test ecx, ecx
jle 0x1000cca9
nop word [eax + eax]
movzx eax, byte [esi]
lea esi, [esi + 1]
shl eax, 0x18
lea edx, [edx + 4]
or eax, 0xffffff
dec ecx
mov dword [edx - 4], eax
test ecx, ecx
jg 0x1000cc90
mov eax, dword [edi + 0x1c]
mov esi, dword [edi + 0x18]
mov edi, dword [edi + 0x20]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x44]
push eax
push 0x8069
call dword [sym.imp.OPENGL32.dll_glGetIntegerv]
push 0x1019912c
push 1
call dword [sym.imp.OPENGL32.dll_glGenTextures]
push dword [0x1019912c]
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
push 0x2601
push 0x2801
push 0xde1
call dword [sym.imp.OPENGL32.dll_glTexParameteri]
push 0x2601
push 0x2800
push 0xde1
call dword [sym.imp.OPENGL32.dll_glTexParameteri]
push 0
push 0xcf2
call dword [sym.imp.OPENGL32.dll_glPixelStorei]
push esi
push 0x1401
push 0x1908
push 0
push edi
push dword [ebp - 0x3c]
push 0x1908
push 0
push 0xde1
call dword [sym.imp.OPENGL32.dll_glTexImage2D]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov eax, dword [0x1019912c]
mov dword [ecx + 8], eax
push dword [ebp - 0x44]
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
mov esi, dword [sym.imp.SDL2.dll_SDL_PollEvent]
mov edi, dword [ebp - 0x1b8]
mov ecx, edi
call fcn.1003ebc0
call fcn.1001ef90
mov ecx, dword [0x10199168]
call fcn.1002cb90
call fcn.10020950
mov ecx, dword [ebp - 0x20c]
cvttss2si eax, dword [ecx + 0x14]
push eax
cvttss2si eax, dword [ecx + 0x10]
push eax
push 0
push 0
call dword [sym.imp.OPENGL32.dll_glViewport]
sub esp, 0x10
mov dword [esp + 0xc], 0x437f0000
mov dword [esp + 8], 0x437f0000
mov dword [esp + 4], 0x437f0000
mov dword [esp], 0x437f0000
call dword [sym.imp.OPENGL32.dll_glClearColor]
push 0x4000
call dword [sym.imp.OPENGL32.dll_glClear]
mov eax, dword [0x10191030]
xor ecx, ecx
add eax, 0x1c74
cmp byte [eax], cl
cmovne ecx, eax
call fcn.1003c220
push edi
call dword [sym.imp.SDL2.dll_SDL_GL_SwapWindow]
add esp, 4
push edi
call dword [sym.imp.SDL2.dll_SDL_RaiseWindow]
add esp, 4
cmp byte [0x1018fe8c], 0
je 0x1000cb51
cmp dword [0x1019912c], 0
je 0x1000ce38
mov esi, dword [0x10191030]
push 0x1019912c
push 1
call dword [sym.imp.OPENGL32.dll_glDeleteTextures]
mov eax, dword [esi + 0x98]
mov dword [eax + 8], 0
mov dword [0x1019912c], 0
mov eax, dword [0x10199164]
mov dword [0x10199130], 0
test eax, eax
je 0x1000ce55
push eax
call dword [sym.imp.SDL2.dll_SDL_free]
add esp, 4
mov edi, dword [sym.imp.SDL2.dll_SDL_FreeCursor]
mov esi, 0x10199140
mov dword [0x10199164], 0
nop word [eax + eax]
push dword [esi]
call edi
add esi, 4
add esp, 4
cmp esi, 0x10199164
jl 0x1000ce70
mov ecx, dword [0x101990c0]
xorps xmm0, xmm0
mov dword [0x10199160], 0
mov dword [0x101990c0], 0
movups xmmword [0x10199140], xmm0
movups xmmword [0x10199150], xmm0
test ecx, ecx
je 0x1000cebf
mov eax, dword [ecx + 4]
add ecx, 4
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x101990c4]
mov dword [0x101990c4], 0
test ecx, ecx
je 0x1000cee1
mov eax, dword [ecx + 4]
add ecx, 4
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x101990c8]
mov dword [0x101990c8], 0
test ecx, ecx
je 0x1000cf03
mov eax, dword [ecx + 4]
add ecx, 4
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x10191030]
mov ecx, esi
call fcn.1001fde0
mov eax, dword [0x10191030]
xor ecx, ecx
cmp eax, esi
cmove eax, ecx
mov dword [0x10191030], eax
test esi, esi
je 0x1000cf45
mov ecx, esi
call fcn.1002c360
mov eax, dword [0x10191030]
test eax, eax
je 0x1000cf3b
dec dword [eax + 0x374]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [ebp - 0x1bc]
call dword [sym.imp.SDL2.dll_SDL_GL_DeleteContext]
add esp, 4
push dword [ebp - 0x1b8]
call dword [sym.imp.SDL2.dll_SDL_DestroyWindow]
add esp, 4
call dword [sym.imp.SDL2.dll_SDL_Quit]
call fcn.100acb10
push 0x98
lea eax, [ebp - 0x178]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x178]
call fcn.1000de10
mov dword [ebp - 4], 0xa
call dword [sym.imp.SDL2.dll_SDL_GetBasePath]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.1000e2d0
mov esi, eax
mov byte [ebp - 0x20], 0x18
mov cl, 0x5f
mov byte [ebp - 0x1b2], 0x70
xor cl, byte [ebp - 0x20]
mov al, 0x79
mov byte [ebp - 0x1f], cl
mov ah, 0x7b
mov cl, byte [ebp - 0x20]
mov dl, 0x48
xor al, cl
mov byte [ebp - 0x1b1], 0x7d
mov byte [ebp - 0x1b], al
xor ah, cl
mov al, byte [ebp - 0x1b2]
mov ch, 0x4d
xor al, cl
mov byte [ebp - 0x1bd], 0x37
mov byte [ebp - 0x19], al
mov dh, 0x5b
mov al, byte [ebp - 0x1b1]
xor dl, cl
xor al, cl
mov byte [ebp - 0x1a], ah
mov byte [ebp - 0x18], al
xor ch, cl
mov al, byte [ebp - 0x1bd]
xor dh, cl
xor al, cl
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x17], al
lea eax, [ebp - 0x1f]
push eax
push esi
mov byte [ebp - 0x1e], dl
mov byte [ebp - 0x1d], ch
mov byte [ebp - 0x1c], dh
mov word [ebp - 0x16], 0x100
call fcn.1000e2d0
add esp, 0x10
lea eax, [ebp - 0x1dc]
lea ecx, [ebp - 0x178]
push eax
call fcn.1000dd20
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 0x1bc], 0
jb 0x1000d052
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x1bc]
lea ecx, [ebp - 0x208]
call fcn.1000e7d0
add esp, 0xc
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x208]
cmp dword [ebp - 0x1f4], 8
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.1013ab6f
mov ecx, edx
movzx eax, al
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 0x1018e500
cmp ecx, 0x91
jne 0x1000d0bc
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x208]
call fcn.1000c0d0
mov ecx, dword [ebp - 0x1c]
add esp, 4
test ecx, ecx
jne 0x1000d42e
mov ecx, dword [ebp - 0x1f4]
cmp ecx, 8
jb 0x1000d100
mov edx, dword [ebp - 0x208]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d0f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d149
push ecx
push edx
call fcn.1013b2c9
add esp, 8
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 7
mov word [ebp - 0x208], ax
cmp ecx, 0x10
jb 0x1000d159
mov edx, dword [ebp - 0x1dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d14f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000d14f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1013b2c9
add esp, 8
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x17c], eax
lea ecx, [ebp - 0x174]
call fcn.1000dc70
lea ecx, [ebp - 0x170]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x128]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
xor eax, eax
jmp 0x1000d410
movaps xmm0, xmmword [str.2tS_WV]
mov al, 0x40
mov byte [ebp - 0x20], 5
mov cl, 0x77
xor al, byte [ebp - 0x20]
mov ch, cl
mov dl, cl
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0x20]
mov ah, 0x6a
mov dh, 0x24
mov byte [ebp - 0x19], 0
xor cl, al
mov word [ebp - 0x19], 0x100
xor ch, al
mov byte [ebp - 0x1e], cl
xor dl, al
mov byte [ebp - 0x1b], ch
xor ah, al
mov byte [ebp - 0x1d], dl
xor dh, al
mov byte [ebp - 0x1c], ah
movups xmmword [ebp - 0x1e8], xmm0
xor ecx, ecx
mov byte [ebp - 0x1a], dh
movaps xmm0, xmmword [0x10184040]
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1c8], 0x135c
nop
mov al, byte [ebp - 0x1e8]
xor byte [ebp + ecx - 0x1e7], al
inc ecx
cmp ecx, 0x21
jb 0x1000d210
push 0x10
lea eax, [ebp - 0x1f]
mov word [ebp - 0x1c6], 0x100
push eax
lea eax, [ebp - 0x1e7]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1000d40b
movaps xmm0, xmmword [0x10183540]
mov al, 0x39
mov byte [ebp - 0x20], 0x7c
mov cl, 0xe
xor al, byte [ebp - 0x20]
mov ch, cl
mov dl, cl
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0x20]
mov ah, 0x13
mov dh, 0x5d
mov byte [ebp - 0x19], 0
xor cl, al
mov word [ebp - 0x19], 0x100
xor ch, al
mov byte [ebp - 0x1e], cl
xor dl, al
mov byte [ebp - 0x1b], ch
xor ah, al
mov byte [ebp - 0x1d], dl
xor dh, al
mov byte [ebp - 0x1c], ah
mov byte [ebp - 0x1a], dh
xor ecx, ecx
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d0], 0x1a5c1b12
mov dword [ebp - 0x1cc], 0xf191015
mov word [ebp - 0x1c8], 0x5d
mov byte [ebp - 0x1c6], 0
nop word [eax + eax]
mov al, byte [ebp - 0x1e0]
xor byte [ebp + ecx - 0x1df], al
inc ecx
cmp ecx, 0x18
jb 0x1000d2c0
push 0x10
lea eax, [ebp - 0x1f]
mov word [ebp - 0x1c7], 0x100
push eax
lea eax, [ebp - 0x1df]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
jmp 0x1000d3e8
movaps xmm0, xmmword [0x10183720]
mov al, 0x3f
mov byte [ebp - 0x20], 0x7a
mov cl, 8
xor al, byte [ebp - 0x20]
mov ch, cl
mov dl, cl
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0x20]
mov ah, 0x15
mov dh, 0x5b
mov byte [ebp - 0x19], 0
xor cl, al
mov word [ebp - 0x19], 0x100
xor ch, al
mov byte [ebp - 0x1e], cl
xor dl, al
mov byte [ebp - 0x1b], ch
xor ah, al
mov byte [ebp - 0x1d], dl
xor dh, al
mov byte [ebp - 0x1c], ah
mov byte [ebp - 0x1a], dh
xor ecx, ecx
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1d0], 0x20662128
mov dword [ebp - 0x1cc], 0x35232a2f
mov word [ebp - 0x1c8], 0x67
mov byte [ebp - 0x1c6], 0
nop dword [eax]
mov al, byte [ebp - 0x1e0]
xor byte [ebp + ecx - 0x1df], al
inc ecx
cmp ecx, 0x18
jb 0x1000d390
push 0x10
lea eax, [ebp - 0x1f]
mov word [ebp - 0x1c7], 0x100
push eax
lea eax, [ebp - 0x1df]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xe4], eax
lea ecx, [ebp - 0xdc]
call fcn.1000dc70
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1013ad45
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x208]
mov ecx, str.remove_all
push eax
lea edx, [ebp - 0x1c]
call fcn.1000b740
int3