Function at 0x140b040
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x14450c5
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x174]
sub esp, 0x168
push esi
mov esi, dword [ebp + 0xc]
push esi
push str._s_YGuard.dll
push eax
call fcn.0140f440
lea eax, [ebp - 0x174]
push eax
call fcn.01401120
add esp, 0x10
test eax, eax
je 0x140c3e6
push eax
call fcn.014010d0
mov ecx, esi
mov dword [ebp - 0x70], 0
add esp, 4
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x140b0b2
push ebx
push edi
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x70]
call fcn.01404410
mov ax, word [0x4446bc8]
mov edx, 0xf
mov ecx, dword [str.YGuard]
mov dword [ebp - 4], 0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x58], ecx
mov word [ebp - 0x54], ax
mov byte [ebp - 0x52], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push 6
push eax
lea ecx, [ebp - 0x70]
call fcn.0140dbf0
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov edi, dword [ebp - 0x58]
mov ebx, 0x7fffffff
test eax, eax
je 0x140b41e
mov edx, dword [ebp - 0x48]
mov eax, ebx
sub eax, edx
cmp eax, 4
jb 0x140c3f5
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
lea ebx, [edx + 4]
mov dword [ebp - 0x28], 0
cmovae ecx, edi
mov dword [ebp - 0x18], 0
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 0
lea edi, [ebp - 0x28]
cmp ebx, esi
jbe 0x140b1d4
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b196
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c413
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x48]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b1d1
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b1b8
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c3fa
jmp 0x140b174
test eax, eax
je 0x140b1cf
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x48]
mov edi, eax
jmp 0x140b1d1
xor edi, edi
mov dword [ebp - 0x28], edi
push edx
push ecx
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov ecx, dword [ebp - 0x48]
add esp, 0xc
mov dword [edi + ecx], 0x6c6c642e
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, edx
mov byte [ebp - 4], 2
cmp eax, 4
jb 0x140c3ff
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
lea ebx, [edx + 4]
mov dword [ebp - 0x40], 0
cmovae ecx, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140b2b3
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b275
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c409
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x60]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b2b0
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b297
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c404
jmp 0x140b253
test eax, eax
je 0x140b2ae
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x60]
mov edi, eax
jmp 0x140b2b0
xor edi, edi
mov dword [ebp - 0x40], edi
push edx
push ecx
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov ecx, dword [ebp - 0x60]
mov dword [edi + ecx], 0x6c6c642e
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 2
mov esi, eax
cmp edx, 0x10
jb 0x140b31d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b313
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c409
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140b3d0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c413
push edx
push ecx
call fcn.01423338
add esp, 8
mov eax, dword [ebp - 0x44]
pop edi
pop ebx
cmp eax, 0x10
jb 0x140b397
mov edx, dword [ebp - 0x58]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x140b38d
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c40e
push ecx
push edx
call fcn.01423338
add esp, 8
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x140c3e6
mov edx, dword [ebp - 0x70]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x140c3dc
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c40e
jmp 0x140c3dc
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140b416
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b40c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c413
push edx
push ecx
call fcn.01423338
add esp, 8
mov edi, dword [ebp - 0x58]
mov ebx, 0x7fffffff
push str.SDL2.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x140b70b
push str.SDL_HasAVX2
push eax
call esi
test eax, eax
je 0x140b70b
call eax
test al, al
je 0x140b70b
mov edx, dword [ebp - 0x48]
mov eax, ebx
sub eax, edx
cmp eax, 9
jb 0x140c418
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
lea ebx, [edx + 9]
mov dword [ebp - 0x28], 0
cmovae ecx, edi
mov dword [ebp - 0x18], 0
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 0
lea edi, [ebp - 0x28]
cmp ebx, esi
jbe 0x140b509
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b4cb
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c431
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x48]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b506
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b4ed
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c41d
jmp 0x140b4a9
test eax, eax
je 0x140b504
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x48]
mov edi, eax
jmp 0x140b506
xor edi, edi
mov dword [ebp - 0x28], edi
push edx
push ecx
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov ecx, dword [ebp - 0x48]
add esp, 0xc
movq xmm0, qword [str._AVX2.dll]
movq qword [edi + ecx], xmm0
mov al, byte [0x4446bd4]
mov byte [edi + ecx + 8], al
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, edx
mov byte [ebp - 4], 4
cmp eax, 9
jb 0x140c422
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
lea ebx, [edx + 9]
mov dword [ebp - 0x40], 0
cmovae ecx, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140b5f7
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b5b9
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c42c
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x60]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b5f4
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b5db
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c427
jmp 0x140b597
test eax, eax
je 0x140b5f2
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x60]
mov edi, eax
jmp 0x140b5f4
xor edi, edi
mov dword [ebp - 0x40], edi
push edx
push ecx
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov ecx, dword [ebp - 0x60]
movq xmm0, qword [str._AVX2.dll]
movq qword [edi + ecx], xmm0
mov al, byte [0x4446bd4]
mov byte [edi + ecx + 8], al
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 4
mov esi, eax
cmp edx, 0x10
jb 0x140b670
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b666
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c42c
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140b6b1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c431
jmp 0x140b355
cmp esi, 2
jne 0x140b6bf
cmp eax, esi
je 0x140b6cd
cmp eax, 0x7e
je 0x140b6cd
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140b705
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b6fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c431
push edx
push ecx
call fcn.01423338
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SDL2.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x140b9e2
push str.SDL_HasAVX
push eax
call esi
test eax, eax
je 0x140b9e2
call eax
test al, al
je 0x140b9e2
mov edx, dword [ebp - 0x48]
mov eax, 0x7fffffff
sub eax, edx
cmp eax, 8
jb 0x140c436
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
lea ebx, [edx + 8]
mov dword [ebp - 0x28], 0
cmovae ecx, dword [ebp - 0x58]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp ebx, esi
jbe 0x140b7f4
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b7b6
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c44f
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x48]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b7f1
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b7d8
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c43b
jmp 0x140b794
test eax, eax
je 0x140b7ef
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x48]
mov edi, eax
jmp 0x140b7f1
xor edi, edi
mov dword [ebp - 0x28], edi
push edx
push ecx
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [edi + eax], 0x5856415f
mov dword [edi + eax + 4], 0x6c6c642e
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, edx
mov byte [ebp - 4], 6
cmp eax, 8
jb 0x140c440
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
lea ebx, [edx + 8]
mov dword [ebp - 0x40], 0
cmovae ecx, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140b8db
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140b89d
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c44a
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x60]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140b8d8
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140b8bf
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c445
jmp 0x140b87b
test eax, eax
je 0x140b8d6
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x60]
mov edi, eax
jmp 0x140b8d8
xor edi, edi
mov dword [ebp - 0x40], edi
push edx
push ecx
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov eax, dword [ebp - 0x60]
mov dword [edi + eax], 0x5856415f
mov dword [edi + eax + 4], 0x6c6c642e
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 6
mov esi, eax
cmp edx, 0x10
jb 0x140b94d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b943
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c44a
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140b98e
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c44f
jmp 0x140b355
cmp esi, 2
jne 0x140b99c
cmp eax, esi
je 0x140b9aa
cmp eax, 0x7e
je 0x140b9aa
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140b9e2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b9d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c44f
push edx
push ecx
call fcn.01423338
add esp, 8
push str.SDL2.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x140bcd3
push str.SDL_HasSSE2
push eax
call ebx
test eax, eax
je 0x140bcd3
call eax
test al, al
je 0x140bcd3
mov edx, dword [ebp - 0x48]
mov eax, 0x7fffffff
sub eax, edx
cmp eax, 9
jb 0x140c454
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
lea ebx, [edx + 9]
mov dword [ebp - 0x28], 0
cmovae ecx, dword [ebp - 0x58]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp ebx, esi
jbe 0x140bad1
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140ba93
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c46d
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x48]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140bace
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140bab5
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c459
jmp 0x140ba71
test eax, eax
je 0x140bacc
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x48]
mov edi, eax
jmp 0x140bace
xor edi, edi
mov dword [ebp - 0x28], edi
push edx
push ecx
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov ecx, dword [ebp - 0x48]
add esp, 0xc
movq xmm0, qword [str._SSE2.dll]
movq qword [ecx + edi], xmm0
mov al, byte [0x4446be0]
mov byte [ecx + edi + 8], al
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, edx
mov byte [ebp - 4], 8
cmp eax, 9
jb 0x140c45e
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
lea ebx, [edx + 9]
mov dword [ebp - 0x40], 0
cmovae ecx, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140bbbf
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140bb81
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c468
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x60]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140bbbc
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140bba3
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c463
jmp 0x140bb5f
test eax, eax
je 0x140bbba
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x60]
mov edi, eax
jmp 0x140bbbc
xor edi, edi
mov dword [ebp - 0x40], edi
push edx
push ecx
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov ecx, dword [ebp - 0x60]
movq xmm0, qword [str._SSE2.dll]
movq qword [ecx + edi], xmm0
mov al, byte [0x4446be0]
mov byte [ecx + edi + 8], al
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 8
mov esi, eax
cmp edx, 0x10
jb 0x140bc38
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140bc2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c468
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140bc79
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c46d
jmp 0x140b355
cmp esi, 2
jne 0x140bc87
cmp eax, esi
je 0x140bc95
cmp eax, 0x7e
je 0x140bc95
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140bccd
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140bcc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c46d
push edx
push ecx
call fcn.01423338
add esp, 8
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SDL2.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x140bfaa
push str.SDL_HasSSE
push eax
call ebx
test eax, eax
je 0x140bfaa
call eax
test al, al
je 0x140bfaa
mov edx, dword [ebp - 0x48]
mov eax, 0x7fffffff
sub eax, edx
cmp eax, 8
jb 0x140c472
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
lea ebx, [edx + 8]
mov dword [ebp - 0x28], 0
cmovae ecx, dword [ebp - 0x58]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp ebx, esi
jbe 0x140bdbc
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140bd7e
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c48b
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x48]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140bdb9
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140bda0
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c477
jmp 0x140bd5c
test eax, eax
je 0x140bdb7
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x48]
mov edi, eax
jmp 0x140bdb9
xor edi, edi
mov dword [ebp - 0x28], edi
push edx
push ecx
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [edi + eax], 0x4553535f
mov dword [edi + eax + 4], 0x6c6c642e
mov byte [edi + ebx], 0
mov edx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, edx
mov byte [ebp - 4], 0xa
cmp eax, 8
jb 0x140c47c
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
lea ebx, [edx + 8]
mov dword [ebp - 0x40], 0
cmovae ecx, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140bea3
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140be65
mov esi, 0x7fffffff
mov ecx, 0x80000023
push ecx
call fcn.014235fe
add esp, 4
test eax, eax
je 0x140c486
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x60]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x140bea0
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x140be87
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x140c481
jmp 0x140be43
test eax, eax
je 0x140be9e
push eax
call fcn.014235fe
mov ecx, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0x60]
mov edi, eax
jmp 0x140bea0
xor edi, edi
mov dword [ebp - 0x40], edi
push edx
push ecx
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov eax, dword [ebp - 0x60]
mov dword [edi + eax], 0x4553535f
mov dword [edi + eax + 4], 0x6c6c642e
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 0xa
mov esi, eax
cmp edx, 0x10
jb 0x140bf15
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140bf0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c486
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140bf56
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c48b
jmp 0x140b355
cmp esi, 2
jne 0x140bf64
cmp eax, esi
je 0x140bf72
cmp eax, 0x7e
je 0x140bf72
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140bfaa
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140bfa0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c48b
push edx
push ecx
call fcn.01423338
add esp, 8
push str.SDL2.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x140c1fd
push str.SDL_HasSSE
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x140c1fd
call eax
test al, al
je 0x140c1fd
mov ecx, dword [ebp - 0x48]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 8
jb 0x140c490
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
lea ebx, [ecx + 8]
mov dword [ebp - 0x28], 0
cmovae eax, dword [ebp - 0x58]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp ebx, esi
jbe 0x140c053
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140c034
mov esi, 0x7fffffff
jmp 0x140c03f
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.014043b0
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x48]
push esi
push eax
push edi
mov dword [ebp - 0x18], ebx
call fcn.01425740
mov dword [edi + esi], 0x4553535f
add esp, 0xc
mov dword [edi + esi + 4], 0x6c6c642e
mov byte [edi + ebx], 0
mov ecx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, ecx
mov byte [ebp - 4], 0xc
cmp eax, 8
jb 0x140c495
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ebx, [ecx + 8]
mov dword [ebp - 0x40], 0
cmovae eax, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140c0f6
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140c0d7
mov esi, 0x7fffffff
jmp 0x140c0e2
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x40]
call fcn.014043b0
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x60]
push esi
push eax
push edi
mov dword [ebp - 0x30], ebx
call fcn.01425740
mov dword [edi + esi], 0x4553535f
mov dword [edi + esi + 4], 0x6c6c642e
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 0xc
mov esi, eax
cmp edx, 0x10
jb 0x140c168
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140c15e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c49a
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140c1a9
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c49f
jmp 0x140b355
cmp esi, 2
jne 0x140c1b7
cmp eax, esi
je 0x140c1c5
cmp eax, 0x7e
je 0x140c1c5
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x140c1fd
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140c1f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c49f
push edx
push ecx
call fcn.01423338
add esp, 8
mov ecx, dword [ebp - 0x48]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 4
jb 0x140c4a4
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
lea ebx, [ecx + 4]
mov dword [ebp - 0x28], 0
cmovae eax, dword [ebp - 0x58]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp ebx, esi
jbe 0x140c278
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140c256
mov esi, 0x7fffffff
jmp 0x140c261
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.014043b0
mov ecx, dword [ebp - 0x48]
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], edi
push ecx
push eax
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
call fcn.01425740
mov ecx, dword [ebp - 0x48]
add esp, 0xc
mov dword [ecx + edi], 0x6c6c642e
mov byte [edi + ebx], 0
mov ecx, dword [ebp - 0x60]
mov eax, 0x7fffffff
sub eax, ecx
mov byte [ebp - 4], 0xe
cmp eax, 4
jb 0x140c4a9
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea ebx, [ecx + 4]
mov dword [ebp - 0x40], 0
cmovae eax, dword [ebp - 0x70]
lea edi, [ebp - 0x40]
mov esi, 0xf
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp ebx, esi
jbe 0x140c316
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x140c2f4
mov esi, 0x7fffffff
jmp 0x140c2ff
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x40]
call fcn.014043b0
mov ecx, dword [ebp - 0x60]
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], edi
push ecx
push eax
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
call fcn.01425740
mov ecx, dword [ebp - 0x60]
mov dword [ecx + edi], 0x6c6c642e
mov byte [edi + ebx], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0140ae00
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov byte [ebp - 4], 0xe
mov esi, eax
cmp edx, 0x10
jb 0x140c380
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140c376
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c4ae
push edx
push ecx
call fcn.01423338
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x140c397
lea ecx, [ebp - 0x28]
call fcn.01403750
jmp 0x140b35f
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.0140c5e0
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp edx, 0x10
jb 0x140b35f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x140b355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x140c4b3
jmp 0x140b355
push ecx
push edx
call fcn.01423338
add esp, 8
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.014025d0
call fcn.014025b0
call fcn.014025d0
call fcn.014025b0
call fcn.01430967
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025b0
call fcn.014025d0
call fcn.014025b0
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025b0
call fcn.014025d0
call fcn.014025b0
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025b0
call fcn.014025d0
call fcn.014025b0
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025b0
call fcn.014025d0
call fcn.014025b0
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025d0
call fcn.01430967
call fcn.01430967
call fcn.014025d0
call fcn.014025d0
call fcn.01430967
call fcn.01430967
int3