Function at 0x40a8a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430254
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x43800c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x30], esi
movss xmm0, dword [ebp + 0x14]
sub esp, 0x10
mov dword [esp + 0xc], 0x44870000
mov dword [esp + 8], 0x44f00000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042c6e0
push 0x80e80
lea eax, [esi + 0xa8]
mov dword [ebp - 4], 0
push 0
push eax
mov dword [esi], vtable.GameScreen.0
mov dword [ebp - 0x14], eax
call sub.VCRUNTIME140.dll_memset
push 0x1d0
lea eax, [esi + 0x80f28]
push 0
push eax
mov dword [ebp + 0x10], eax
call sub.VCRUNTIME140.dll_memset
push 0x230
mov dword [esi + 0x810f8], 0
lea eax, [esi + 0x81114]
mov dword [esi + 0x810fc], 0
mov dword [esi + 0x81100], 0
push 0
push eax
mov dword [esi + 0x81110], 0
mov dword [esi + 0x8110c], 0
mov dword [esi + 0x81108], 0
mov dword [esi + 0x81104], 0
call sub.VCRUNTIME140.dll_memset
push 0x50
lea eax, [esi + 0x81344]
push 0
push eax
mov dword [ebp - 0x18], eax
call sub.VCRUNTIME140.dll_memset
mov dword [esi + 0x81394], 0
mov dword [esi + 0x81398], 0
mov dword [esi + 0x8139c], 0
mov dword [esi + 0x813a0], 0
mov dword [esi + 0x813a4], 0
mov word [esi + 0x813a8], 0
mov byte [esi + 0x813aa], 0
mov dword [esi + 0x813ac], 0
mov dword [esi + 0x813b0], 0
mov dword [esi + 0x813b4], 0
mov dword [esi + 0x813b8], 0
mov dword [esi + 0x813bc], 0
mov dword [esi + 0x813c0], 0
mov dword [esi + 0x813c4], 0
mov dword [esi + 0x813c8], 0
mov dword [esi + 0x813cc], 0
mov dword [esi + 0x813d0], 0
mov dword [esi + 0x813d4], 0
mov dword [esi + 0x813d8], 0
mov dword [esi + 0x813dc], 0
mov dword [esi + 0x813e0], 0
mov dword [esi + 0x813e4], 0
mov word [esi + 0x813e8], 0
mov byte [esi + 0x813ea], 0
mov dword [esi + 0x813ec], 0
mov dword [esi + 0x813f0], 0
mov dword [esi + 0x813f4], 0
mov byte [esi + 0x813f8], 0
mov dword [esi + 0x813fc], 1
mov dword [esi + 0x81400], 0
mov dword [esi + 0x81404], 0
mov dword [esi + 0x81408], 0
mov dword [esi + 0x8140c], 0
mov dword [esi + 0x81410], 0
mov dword [esi + 0x81414], 0
mov dword [esi + 0x81418], 0
mov dword [esi + 0x8141c], 0
mov dword [esi + 0x81420], 0
push 0x384
lea eax, [esi + 0x81444]
mov dword [esi + 0x81424], 0
push 0
push eax
mov dword [esi + 0x81428], 0
mov dword [esi + 0x8142c], 0
mov dword [esi + 0x81430], 0
mov byte [esi + 0x81434], 0
mov dword [esi + 0x81438], 0
mov dword [esi + 0x8143c], 0
mov dword [esi + 0x81440], 0
call sub.VCRUNTIME140.dll_memset
mov dword [esi + 0x817c8], 0xffffffff
mov dword [esi + 0x817cc], 0
mov dword [esi + 0x817d0], 0
mov dword [esi + 0x817d4], 0
mov dword [esi + 0x817d8], 0
mov dword [esi + 0x817dc], 0
mov dword [esi + 0x817e0], 0
mov dword [esi + 0x817e4], 0
mov dword [esi + 0x817e8], 0
mov dword [esi + 0x817ec], 0
mov dword [esi + 0x817f0], 0
mov dword [esi + 0x817f4], 0
mov dword [esi + 0x817f8], 0
mov dword [esi + 0x817fc], 0
mov dword [esi + 0x81800], 0
mov dword [esi + 0x81804], 0
mov dword [esi + 0x81808], 0
mov dword [esi + 0x8180c], 0
mov dword [esi + 0x81810], 0
mov dword [esi + 0x81814], 0
mov dword [esi + 0x81818], 0
mov dword [esi + 0x81828], 0
mov dword [esi + 0x81824], 0
mov dword [esi + 0x81820], 0
mov dword [esi + 0x8181c], 0
mov dword [esi + 0x81838], 0
mov dword [esi + 0x81834], 0
mov dword [esi + 0x81830], 0
mov dword [esi + 0x8182c], 0
mov dword [esi + 0x81848], 0
mov dword [esi + 0x81844], 0
mov dword [esi + 0x81840], 0
mov dword [esi + 0x8183c], 0
mov dword [esi + 0x81858], 0
mov dword [esi + 0x81854], 0
mov dword [esi + 0x81850], 0
mov dword [esi + 0x8184c], 0
mov dword [esi + 0x81868], 0
mov dword [esi + 0x81864], 0
mov dword [esi + 0x81860], 0
mov dword [esi + 0x8185c], 0
mov dword [esi + 0x81878], 0
mov dword [esi + 0x81874], 0
mov dword [esi + 0x81870], 0
mov dword [esi + 0x8186c], 0
mov dword [esi + 0x81888], 0
mov dword [esi + 0x81884], 0
mov dword [esi + 0x81880], 0
mov dword [esi + 0x8187c], 0
mov dword [esi + 0x81898], 0
mov dword [esi + 0x81894], 0
mov dword [esi + 0x81890], 0
mov dword [esi + 0x8188c], 0
mov dword [esi + 0x818a8], 0
mov dword [esi + 0x818a4], 0
mov dword [esi + 0x818a0], 0
mov dword [esi + 0x8189c], 0
mov dword [esi + 0x818ac], 0
mov dword [esi + 0x818b0], 0
mov dword [esi + 0x818b4], 0
mov dword [esi + 0x818b8], 0
mov dword [esi + 0x818bc], 0
mov dword [esi + 0x818c0], 0
mov dword [esi + 0x818c4], 0
mov dword [esi + 0x818c8], 0
mov dword [esi + 0x818cc], 0
mov dword [esi + 0x818d0], 0
mov dword [esi + 0x818d4], 0
mov dword [esi + 0x818d8], 0
lea eax, [esi + 0x81954]
mov dword [esi + 0x818dc], 0
mov dword [esi + 0x818e0], 0
mov dword [esi + 0x818e4], 0
mov dword [esi + 0x818e8], 0
mov dword [esi + 0x818ec], 0
mov dword [esi + 0x818f0], 0
mov dword [esi + 0x818f4], 0
mov dword [esi + 0x818f8], 0
mov dword [esi + 0x818fc], 0
mov dword [esi + 0x81900], 0
mov dword [esi + 0x81904], 0
mov dword [esi + 0x81908], 0
mov dword [esi + 0x8190c], 0
mov dword [esi + 0x81910], 0
mov dword [esi + 0x81914], 0
mov dword [esi + 0x81918], 0
mov dword [esi + 0x8191c], 0
mov dword [esi + 0x81920], 0
mov dword [esi + 0x81924], 0
mov dword [esi + 0x81928], 0
mov dword [esi + 0x8192c], 0
mov dword [esi + 0x81930], 0
mov dword [esi + 0x81934], 0
mov dword [esi + 0x81938], 0
mov dword [esi + 0x8193c], 0
mov dword [esi + 0x81940], 0
mov dword [esi + 0x81944], 0
push 0x140
mov dword [esi + 0x81948], 0
push 0
mov dword [esi + 0x8194c], 0
push eax
mov dword [esi + 0x81950], 0
mov dword [ebp - 0x2c], eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [esi + 0x81a94]
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
push 0x168
movq qword [eax + 0x20], xmm0
lea eax, [esi + 0x81abc]
push 0
push eax
mov dword [ebp + 8], eax
call sub.VCRUNTIME140.dll_memset
push 0xa0
lea eax, [esi + 0x81c24]
push 0
push eax
mov dword [ebp - 0x28], eax
call sub.VCRUNTIME140.dll_memset
mov dword [esi + 0x81cc4], 0
lea eax, [esi + 0x81cd0]
mov dword [esi + 0x81cc8], 0
xorps xmm0, xmm0
mov dword [esi + 0x81ccc], 0xffffffff
add esp, 0x18
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [esi + 0x81ce4], 0xffffffff
movups xmmword [esi + 0x81ce8], xmm0
mov dword [esi + 0x81cf8], 0
mov dword [ebp - 0x20], eax
lea eax, [esi + 0x81ce8]
mov dword [esi + 0x81cfc], 0xffffffff
movups xmmword [esi + 0x81d00], xmm0
mov dword [esi + 0x81d10], 0
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x81d00]
mov dword [esi + 0x81d14], 0
mov dword [esi + 0x81d18], 0
mov dword [esi + 0x81d1c], 0
mov dword [esi + 0x81d20], 0
mov dword [esi + 0x81d24], 0
mov dword [ebp - 0x24], eax
mov dword [esi + 0x81d28], 0x3f800000
mov byte [esi + 0x81d2c], 1
mov dword [esi + 0x81110], 0x3f800000
mov dword [esi + 0x81104], 0
mov dword [esi + 0x81108], 0x3f4ccccd
mov dword [esi + 0x8110c], 0x3f4ccccd
mov esi, dword [ebp - 0x14]
mov dword [ebp + 0x14], 0
xor edi, edi
nop dword [eax]
push 0x34
call fcn.0042e5a9
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x40b0d2
push edi
push dword [ebp + 0x14]
mov ecx, eax
call fcn.0042a680
jmp 0x40b0d4
xor eax, eax
mov dword [esi], eax
inc edi
add esi, 4
mov byte [ebp - 4], 0
cmp edi, 0x1b8
jl 0x40b0b0
mov eax, dword [ebp + 0x14]
inc eax
mov dword [ebp + 0x14], eax
cmp eax, 0x12c
jl 0x40b0a7
mov edi, 0x74
nop dword [eax]
push 0x38
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x40b11e
mov ecx, eax
call fcn.00408ed0
jmp 0x40b120
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov byte [ebp - 4], 0
mov dword [ecx], eax
add ecx, 4
mov dword [ebp + 0x10], ecx
sub edi, 1
jne 0x40b100
mov esi, dword [ebp - 0x18]
mov edi, 0x14
nop dword [eax]
push 0x24
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x40b15e
mov ecx, eax
call fcn.00404500
jmp 0x40b160
xor eax, eax
mov dword [esi], eax
add esi, 4
mov byte [ebp - 4], 0
sub edi, 1
jne 0x40b140
mov ecx, dword [0x438740]
push str.Images_TileBlack3.png
call fcn.00427c70
mov esi, dword [ebp - 0x10]
push str.Images_TileBlack6.png
mov dword [esi + 0x817d0], eax
mov ecx, dword [0x438740]
call fcn.00427c70
mov dword [esi + 0x817d4], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack12.png
call fcn.00427c70
mov dword [esi + 0x817d8], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack18.png
call fcn.00427c70
mov dword [esi + 0x817dc], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack24.png
call fcn.00427c70
mov dword [esi + 0x817e0], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack30.png
call fcn.00427c70
mov dword [esi + 0x817e4], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack36.png
call fcn.00427c70
mov dword [esi + 0x817e8], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack42.png
call fcn.00427c70
mov dword [esi + 0x817ec], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack48.png
call fcn.00427c70
mov dword [esi + 0x817f0], eax
mov ecx, dword [0x438740]
push str.Images_TileHappy48.png
call fcn.00427c70
mov dword [esi + 0x817f4], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered3.png
call fcn.00427c70
mov dword [esi + 0x817f8], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered6.png
call fcn.00427c70
mov dword [esi + 0x817fc], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered12.png
call fcn.00427c70
mov dword [esi + 0x81800], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered18.png
call fcn.00427c70
mov dword [esi + 0x81804], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered24.png
call fcn.00427c70
mov dword [esi + 0x81808], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered30.png
call fcn.00427c70
mov dword [esi + 0x8180c], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered36.png
call fcn.00427c70
mov dword [esi + 0x81810], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered42.png
call fcn.00427c70
mov dword [esi + 0x81814], eax
mov ecx, dword [0x438740]
push str.Images_TileCovered48.png
call fcn.00427c70
mov dword [esi + 0x81818], eax
mov eax, dword [esi + 0x817f8]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss xmm4, dword [0x4336bc]
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8181c], xmm0
movss dword [esi + 0x81820], xmm2
movss dword [esi + 0x81824], xmm1
movss dword [esi + 0x81828], xmm3
mov eax, dword [esi + 0x817fc]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8182c], xmm0
movss dword [esi + 0x81830], xmm2
movss dword [esi + 0x81834], xmm1
movss dword [esi + 0x81838], xmm3
mov eax, dword [esi + 0x81800]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm3, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8183c], xmm0
movss dword [esi + 0x81840], xmm2
movss dword [esi + 0x81844], xmm1
movss dword [esi + 0x81848], xmm3
mov eax, dword [esi + 0x81804]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8184c], xmm0
movss dword [esi + 0x81850], xmm2
movss dword [esi + 0x81854], xmm1
movss dword [esi + 0x81858], xmm3
mov eax, dword [esi + 0x81808]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
divss xmm3, xmm4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8185c], xmm0
movss dword [esi + 0x81860], xmm2
movss dword [esi + 0x81864], xmm1
movss dword [esi + 0x81868], xmm3
mov eax, dword [esi + 0x8180c]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8186c], xmm0
movss dword [esi + 0x81870], xmm2
movss dword [esi + 0x81874], xmm1
movss dword [esi + 0x81878], xmm3
mov eax, dword [esi + 0x81810]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm2, xmm0
movzx eax, cl
shr ecx, 0x10
divss xmm2, xmm4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8187c], xmm0
movss dword [esi + 0x81880], xmm2
movss dword [esi + 0x81884], xmm1
movss dword [esi + 0x81888], xmm3
mov eax, dword [esi + 0x81814]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
shr ecx, 0x10
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm2, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8188c], xmm0
movss dword [esi + 0x81890], xmm2
movss dword [esi + 0x81894], xmm1
movss dword [esi + 0x81898], xmm3
mov eax, dword [esi + 0x81818]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4336c0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm3, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
movzx eax, cl
cvtpd2ps xmm2, xmm0
movd xmm0, eax
divss xmm2, xmm4
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x4336c0]
shr ecx, 0x10
movzx eax, cl
push str.Images_TileBlack3.png
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x4336c0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [esi + 0x8189c], xmm0
movss dword [esi + 0x818a0], xmm2
movss dword [esi + 0x818a4], xmm1
movss dword [esi + 0x818a8], xmm3
mov ecx, dword [0x438740]
call fcn.00427c70
mov dword [esi + 0x818ac], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack6.png
call fcn.00427c70
mov dword [esi + 0x818b0], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack12.png
call fcn.00427c70
mov dword [esi + 0x818b4], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack18.png
call fcn.00427c70
mov dword [esi + 0x818b8], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack24.png
call fcn.00427c70
mov dword [esi + 0x818bc], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack30.png
call fcn.00427c70
mov dword [esi + 0x818c0], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack36.png
call fcn.00427c70
mov dword [esi + 0x818c4], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack42.png
call fcn.00427c70
mov dword [esi + 0x818c8], eax
mov ecx, dword [0x438740]
push str.Images_TileBlack48.png
call fcn.00427c70
mov dword [esi + 0x818cc], eax
mov ecx, dword [0x438740]
push str.Images_TileRed3.png
call fcn.00427c70
mov dword [esi + 0x818d0], eax
mov ecx, dword [0x438740]
push str.Images_TileRed6.png
call fcn.00427c70
mov dword [esi + 0x818d4], eax
mov ecx, dword [0x438740]
push str.Images_TileRed12.png
call fcn.00427c70
mov dword [esi + 0x818d8], eax
mov ecx, dword [0x438740]
push str.Images_TileRed18.png
call fcn.00427c70
mov dword [esi + 0x818dc], eax
mov ecx, dword [0x438740]
push str.Images_TileRed24.png
call fcn.00427c70
mov dword [esi + 0x818e0], eax
mov ecx, dword [0x438740]
push str.Images_TileRed30.png
call fcn.00427c70
mov dword [esi + 0x818e4], eax
mov ecx, dword [0x438740]
push str.Images_TileRed36.png
call fcn.00427c70
mov dword [esi + 0x818e8], eax
mov ecx, dword [0x438740]
push str.Images_TileRed42.png
call fcn.00427c70
mov dword [esi + 0x818ec], eax
mov ecx, dword [0x438740]
push str.Images_TileRed48.png
call fcn.00427c70
push ecx
mov dword [esi + 0x818f0], eax
mov ecx, esi
mov dword [esp], 0x3f4ccccd
push dword [esi + 0x818ac]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f4ccccd
mov ecx, esi
push dword [esi + 0x818b0]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818b4]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818b8]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818bc]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818c0]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818c4]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818c8]
call fcn.0041ec20
push ecx
mov dword [esp], 0x3f333333
mov ecx, esi
push dword [esi + 0x818cc]
call fcn.0041ec20
mov ecx, dword [0x438740]
push str.Images_CrayonVeryLarge.png
call fcn.00427c70
mov dword [esi + 0x818f8], eax
mov ecx, dword [0x438740]
push str.Images_CrayonLarge.png
call fcn.00427c70
mov dword [esi + 0x818fc], eax
mov ecx, dword [0x438740]
push str.Images_CrayonSmall.png
call fcn.00427c70
mov dword [esi + 0x81900], eax
mov ecx, dword [0x438740]
push str.Images_CrayonArtifactsVeryLarge.png
call fcn.00427c70
mov dword [esi + 0x81904], eax
mov ecx, dword [0x438740]
push str.Images_CrayonArtifactsLarge.png
call fcn.00427c70
mov dword [esi + 0x81908], eax
mov ecx, dword [0x438740]
push str.Images_CrayonArtifactsSmall.png
call fcn.00427c70
mov dword [esi + 0x8190c], eax
mov ecx, dword [0x438740]
push str.Images_CrayonSmallCircle.png
call fcn.00427c70
mov dword [esi + 0x81934], eax
mov dword [eax + 0x80], 0x41800000
mov dword [eax + 0x84], 0x41800000
mov ecx, dword [0x438740]
push str.Images_CrayonLargeCircle.png
call fcn.00427c70
mov dword [esi + 0x81938], eax
push str.Images_CrayonVeryLargeCircle.png
mov dword [eax + 0x80], 0x41a80000
mov dword [eax + 0x84], 0x41a80000
mov ecx, dword [0x438740]
call fcn.00427c70
mov dword [esi + 0x8193c], eax
push str.Images_CrayonVeryLargeCork.png
mov dword [eax + 0x80], 0x42000000
mov dword [eax + 0x84], 0x42000000
mov dword [esi + 0x81944], edi
mov ecx, dword [0x438740]
call fcn.00427c70
mov dword [esi + 0x81910], eax
mov ecx, dword [0x438740]
push str.Images_CrayonLargeCork.png
call fcn.00427c70
mov dword [esi + 0x81914], eax
mov ecx, dword [0x438740]
push str.Images_CrayonSmallCork.png
call fcn.00427c70
mov dword [esi + 0x81918], eax
mov ecx, dword [0x438740]
push str.Images_CrayonVeryLargeCorkCompleted.png
call fcn.00427c70
mov dword [esi + 0x8191c], eax
mov ecx, dword [0x438740]
push str.Images_CrayonLargeCorkCompleted.png
call fcn.00427c70
mov dword [esi + 0x81920], eax
mov ecx, dword [0x438740]
push str.Images_CrayonSmallCorkCompleted.png
call fcn.00427c70
mov dword [esi + 0x81924], eax
mov ecx, dword [0x438740]
push str.Images_LevelProgressFront.png
call fcn.00427c70
mov dword [esi + 0x818f4], eax
mov ecx, dword [0x438740]
push str.Images_BombButton.png
call fcn.00427c70
mov dword [esi + 0x81928], eax
mov ecx, dword [0x438740]
push str.Images_FillButton.png
call fcn.00427c70
mov dword [esi + 0x8192c], eax
mov ecx, dword [0x438740]
push str.Images_HappyProgressFront.png
call fcn.00427c70
mov dword [esi + 0x81930], eax
mov ecx, dword [0x438740]
push str.Images_Fake.png
call fcn.00427c70
mov dword [esi + 0x817cc], eax
mov ecx, dword [0x438740]
push str.Images_ButtonHighSelection.png
call fcn.00427c70
mov dword [esi + 0x81940], eax
mov ecx, dword [0x438740]
push str.Images_Fake.png
call fcn.00427c70
mov dword [esi + 0x81948], eax
mov edi, 0xa
mov esi, dword [ebp - 0x1c]
nop dword [eax]
push str.Particles_CrayonCompleted.psi
call fcn.004175b0
add esp, 4
mov dword [esi], eax
lea esi, [esi + 4]
sub edi, 1
jne 0x40bdc0
push str.Particles_Fill.psi
call fcn.004175b0
mov esi, dword [ebp - 0x10]
push str.Particles_Bomb.psi
mov dword [esi + 0x81cc4], eax
call fcn.004175b0
mov dword [esi + 0x81cc8], eax
add esp, 8
mov esi, dword [ebp - 0x20]
mov edi, 5
push str.Particles_ArtifactCircle.psi
call fcn.004175b0
add esp, 4
mov dword [esi], eax
lea esi, [esi + 4]
sub edi, 1
jne 0x40be05
mov edi, 5
push str.Particles_ArtifactCircle.psi
call fcn.004175b0
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [ecx], eax
add ecx, 4
mov dword [ebp + 0xc], ecx
sub edi, 1
jne 0x40be21
mov esi, dword [ebp - 0x24]
mov edi, 5
push str.Particles_ArtifactCircle.psi
call fcn.004175b0
add esp, 4
mov dword [esi], eax
lea esi, [esi + 4]
sub edi, 1
jne 0x40be46
mov edi, 0x5a
push str.Particles_NewArtifact.psi
call fcn.004175b0
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [ecx], eax
add ecx, 4
mov dword [ebp + 8], ecx
sub edi, 1
jne 0x40be62
mov esi, dword [ebp - 0x28]
mov edi, 0x28
nop word [eax + eax]
push str.Particles_RiddleCompleted.psi
call fcn.004175b0
add esp, 4
mov dword [esi], eax
lea esi, [esi + 4]
sub edi, 1
jne 0x40be90
push 0x64
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x40bec5
mov ecx, eax
call fcn.0041d600
jmp 0x40bec7
xor eax, eax
mov esi, dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [esi + 0x810fc], eax
call fcn.004161f0
push 0x30
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x40bef9
mov ecx, eax
call fcn.00427370
jmp 0x40befb
xor eax, eax
mov dword [esi + 0x810f8], eax
mov edi, 0x50
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
nop dword [eax]
push str.Particles_Tutorial.psi
call fcn.004175b0
add esp, 4
mov dword [esi], eax
lea esi, [esi + 4]
sub edi, 1
jne 0x40bf10
push 0xac
call fcn.0042e5a9
mov esi, eax
add esp, 4
mov dword [ebp + 0x14], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x40bf84
mov eax, dword [0x438bac]
sub esp, 0x14
mov ecx, dword [eax]
mov dword [esp + 0x10], 0x42200000
mov dword [esp + 0xc], 0x42e60000
mov dword [esp + 8], edi
mov dword [esp + 4], edi
mov dword [esp], 0x41f00000
push 0x1f
push edi
push edi
push str.Animations_Arrow.png
push eax
call dword [ecx + 0x184]
push eax
mov ecx, esi
call fcn.00401000
jmp 0x40bf86
xor eax, eax
mov esi, dword [ebp - 0x10]
mov ecx, eax
push 4
mov byte [ebp - 4], 0
mov dword [esi + 0x8194c], eax
call fcn.004010c0
mov ecx, dword [esi + 0x8194c]
call fcn.00401100
push 0x1b5f0
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x40bfc8
mov ecx, eax
call fcn.00403150
jmp 0x40bfca
xor eax, eax
push 0x1e8
mov byte [ebp - 4], 0
mov dword [esi + 0x81100], eax
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x40c00e
push str.Images_Easel.jpg
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 1
call fcn.00419ce0
jmp 0x40c010
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x40c074
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 0x50
push dword [0x438780]
push 0x4324f4
push 0x4324f4
push 2
push str.Images_MelodyButton.png
sub esp, 8
mov dword [esp + 4], 0x43160000
mov dword [esp], 0x44e7e000
push 0
push 3
call fcn.004072b0
jmp 0x40c076
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
mov edi, eax
add esp, 4
mov dword [ebp + 0x14], edi
mov byte [ebp - 4], 0xa
test edi, edi
je 0x40c0e8
push ecx
mov ecx, dword [0x43874c]
mov dword [esp], 0x3f666666
push 0
push dword [0x438780]
push 0x4324f4
push str.MENU
call fcn.00402990
push eax
push 2
push str.Images_Button200.png
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0x41b00000
mov dword [esp], 0
push 0
push 2
call fcn.004072b0
jmp 0x40c0ea
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 2
mov ecx, esi
call fcn.0042d1c0
movss xmm0, dword [0x432bbc]
fstp dword [ebp + 0x14]
subss xmm0, dword [ebp + 0x14]
push ecx
mov ecx, esi
subss xmm0, dword [0x4324e8]
movss dword [esp], xmm0
push 2
call fcn.0042e2a0
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x40c160
push str.Images_LevelProgressBack.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xe
call fcn.00419ce0
jmp 0x40c162
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push ecx
mov dword [esp], 0x41200000
mov ecx, esi
push 2
call fcn.0042d340
fstp dword [ebp + 0x14]
push 0xe
mov ecx, esi
call fcn.0042d1c0
movss xmm0, dword [ebp + 0x14]
fstp dword [ebp + 0x10]
subss xmm0, dword [ebp + 0x10]
push ecx
mov ecx, esi
subss xmm0, dword [0x4336a4]
movss dword [esp], xmm0
push 0xe
call fcn.0042e170
push 0x224
call fcn.0042e5a9
mov edi, eax
add esp, 4
mov dword [ebp + 0x14], edi
mov byte [ebp - 4], 0xc
test edi, edi
je 0x40c215
push ecx
mov ecx, dword [0x43874c]
mov dword [esp], 0x3f666666
push 0
push dword [0x438780]
push 0x4324f4
push 0x432654
call fcn.00402990
push eax
push 2
push str.Images_Button200.png
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0x11
call fcn.004072b0
jmp 0x40c217
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x9c
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x40c26f
push 0x4324f4
push str.Images_HorScrollImg.png
push str.Images_Slider.png
sub esp, 0xc
mov ecx, eax
mov dword [esp + 8], 0x43a68000
mov dword [esp + 4], 0
mov dword [esp], 0
push 4
call fcn.004265e0
jmp 0x40c271
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x40c2bd
push 0
push 0x10
push str.Images_Zoom_.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 6
call fcn.004077c0
jmp 0x40c2bf
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x40c30b
push 0
push 0x10
push str.Images_Zoom.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 5
call fcn.004077c0
jmp 0x40c30d
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x40c35b
push 0
push 0
push 0x13
push str.Images_BombButton.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 7
call fcn.00422950
jmp 0x40c35d
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x40c3a3
push str.Images_BombGreyImage.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 8
call fcn.00419ce0
jmp 0x40c3a5
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push ecx
mov dword [esp], 0x3e99999a
mov ecx, esi
push 8
call fcn.0042e140
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x40c404
push 0
push 0
push 0x13
push str.Images_HappyButton.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0xb
call fcn.00422950
jmp 0x40c406
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x40c44c
push str.Images_HappyGreyImage.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xc
call fcn.00419ce0
jmp 0x40c44e
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push ecx
mov dword [esp], 0x3e99999a
mov ecx, esi
push 0xc
call fcn.0042e140
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x40c4a5
push str.Images_HappyProgressBack.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xd
call fcn.00419ce0
jmp 0x40c4a7
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x40c4f5
push 0
push 0
push 0x13
push str.Images_FillButton.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 9
call fcn.00422950
jmp 0x40c4f7
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x40c53d
push str.Images_FillGreyImage.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xa
call fcn.00419ce0
jmp 0x40c53f
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push ecx
mov dword [esp], 0x3e99999a
mov ecx, esi
push 0xa
call fcn.0042e140
push 0
push 0x11
mov ecx, esi
call fcn.0042cb10
push 0x1e8
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x40c5a1
push str.Images_TutorialBackground.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0x10
call fcn.00419ce0
jmp 0x40c5a3
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push ecx
mov dword [esp], 0x3f59999a
mov ecx, esi
push 0x10
call fcn.0042e140
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x40c600
push 0
push 2
push str.Images_ButtonHighYellow.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0x12
call fcn.004077c0
jmp 0x40c602
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x40c64e
push 0
push 2
push str.Images_ButtonHighViolet.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0x13
call fcn.004077c0
jmp 0x40c650
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x40c69c
push 0
push 2
push str.Images_ButtonHighGreen.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0x14
call fcn.004077c0
jmp 0x40c69e
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
push 0x224
call fcn.0042e5a9
add esp, 4
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x40c6ea
push 0
push 2
push str.Images_ButtonHighBlue.png
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
push 0
push 0x15
call fcn.004077c0
jmp 0x40c6ec
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0042cd20
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10