Function at 0x45fbd1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
mov ebx, ecx
xor esi, esi
cmp byte [ebx + 0x94], 0
push edi
mov dword [esp + 0x14], ebx
je 0x460da3
fld dword [ebp + 8]
push ecx
fstp dword [esp]
call fcn.0047aa88
fld dword [ebx + 0x1b8]
mov eax, dword [ebx + 0x164]
cmp eax, 0x64
fmul dword [ebp + 8]
fstp dword [ebp + 8]
jne 0x460c3e
cmp byte [ebx + 0x2e0], 0
je 0x460543
call fcn.004014e2
mov esi, 0x84
add eax, esi
test byte [eax + 0x53], 2
jbe 0x45fd14
cmp byte [eax + 0x108], 0
jne 0x45fd14
cmp byte [0x577b14], 0
je 0x45fd14
lea eax, [ebx + 0x9c]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xa0]
lea edi, [esp + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0041d163
test al, al
je 0x45fcfb
call fcn.00419ec0
mov ecx, dword [eax]
call fcn.00459639
test al, al
je 0x45fce9
call fcn.00419ec0
mov edi, dword [eax]
add edi, 8
call fcn.00419ec0
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, dword [edi]
je 0x45fce9
call fcn.00419ec0
mov edi, eax
call fcn.00419ec0
fldz
mov eax, dword [eax]
push 0
push ecx
mov ecx, dword [edi]
fstp dword [esp]
push 1
push dword [ecx + 8]
xor ecx, ecx
call fcn.0047a301
call fcn.00419ec0
mov edi, eax
call fcn.00419ec0
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [edi]
mov dword [eax + 0x3c], ecx
lea edi, [esp + 0x1c]
lea esi, [esp + 0x2c]
call fcn.0041d180
jmp 0x45fc6d
fld dword [0x543c84]
mov esi, 0x84
fstp dword [ebx + 0x1bc]
fld1
fstp dword [ebx + 0x204]
call fcn.004014e2
add eax, esi
test byte [eax + 2], 2
jbe 0x45fd4b
cmp byte [eax + 0x108], 0
jne 0x45fd4b
lea eax, [ebx + 0xd4]
mov ecx, dword [eax]
xor edi, edi
cmp ecx, edi
je 0x45fd47
mov ecx, dword [ecx + 0x3c]
cmp ecx, edi
je 0x45fd47
mov byte [ecx + 0x77], 0
mov byte [ecx + 0x78], 0
mov dword [eax], edi
jmp 0x45fd4d
xor edi, edi
call fcn.004014e2
add eax, esi
test byte [eax + 1], 2
jbe 0x45fe61
cmp byte [eax + 0x108], 0
jne 0x45fe61
mov ecx, dword [ebx + 0xd8]
cmp ecx, edi
je 0x45fe44
mov eax, dword [ebx + 0xd4]
cmp eax, edi
je 0x45fd9a
cmp ecx, eax
je 0x45fd96
call fcn.004612b1
mov esi, 0x84
jmp 0x45fe61
cmp eax, edi
jne 0x45fda4
mov edx, dword [ecx + 0x3c]
mov ecx, ebx
call fcn.00487cf5
mov eax, dword [ebx + 0xd8]
fld dword [0x544048]
mov dword [ebx + 0xd4], eax
mov eax, dword [eax + 0x3c]
push 1
push ecx
mov byte [eax + 0x77], 1
fstp dword [esp]
mov byte [eax + 0x78], 0
mov ecx, dword [ebx + 0xd4]
call fcn.0045b278
cmp byte [ebx + 0x2eb], 0
jne 0x45fe61
fld1
push ecx
fst dword [esp]
fldz
push edi
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x224]
call fcn.00426b50
lea eax, [ebx + 0x309]
cmp byte [eax], 0
je 0x45fe61
mov ecx, dword [ebx + 0xd4]
mov ecx, dword [ecx + 0x3c]
cmp word [ecx + 0x16], di
jbe 0x45fe61
push 0xc0
mov byte [eax], 0
call fcn.004e0321
cmp eax, edi
pop ecx
je 0x45fe30
push eax
call fcn.00433a2f
jmp 0x45fe32
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push edi
push edi
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
jmp 0x45fe61
lea eax, [ebx + 0xd4]
mov ecx, dword [eax]
cmp ecx, edi
je 0x45fe5f
mov ecx, dword [ecx + 0x3c]
cmp ecx, edi
je 0x45fe5f
mov byte [ecx + 0x77], 0
mov byte [ecx + 0x78], 0
mov dword [eax], edi
call fcn.004014e2
add eax, esi
test byte [eax + 1], 4
jbe 0x45fe98
cmp byte [eax + 0x108], 0
jne 0x45fe98
mov ecx, dword [ebx + 0xd8]
test ecx, ecx
je 0x45fe98
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x45fe98
cmp ecx, eax
je 0x45fe98
call fcn.004612b1
mov ebx, dword [esp + 0x14]
cmp byte [ebx + 0x308], 0
jne 0x460543
cmp byte [ebx + 0x2eb], 0
jne 0x460543
and dword [esp + 0x10], 0
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x460532
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x460532
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x460532
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x460532
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebx + 0x300]
add eax, 0x14
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ax, word [eax + 0x14]
mov ecx, dword [esp + 0x24]
cmp ax, word [ecx]
jne 0x45ffa8
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebx + 0x300]
add eax, 0x16
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ax, word [eax + 0x16]
mov ecx, dword [esp + 0x24]
cmp ax, word [ecx]
jne 0x45ffa8
dec dword [esp + 0x10]
jmp 0x460496
mov esi, dword [ebx + 0x300]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0xc
call fcn.00412c16
test eax, eax
jbe 0x460018
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0xc
call fcn.004196a7
push 0
push dword [eax]
call fcn.0045f850
test al, al
je 0x46008d
mov esi, dword [ebx + 0x300]
inc dword [esp + 0x18]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0xc
call fcn.00412c16
cmp dword [esp + 0x18], eax
jb 0x45ffc9
mov esi, dword [ebx + 0x304]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0xc
call fcn.00412c16
test eax, eax
jbe 0x460496
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0xc
call fcn.004196a7
push 0
push dword [eax]
call fcn.0045f850
test al, al
je 0x46008d
mov esi, dword [ebx + 0x304]
inc dword [esp + 0x18]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0xc
call fcn.00412c16
cmp dword [esp + 0x18], eax
jb 0x46003d
jmp 0x460496
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x18], eax
call fcn.00458652
mov eax, dword [eax]
mov esi, dword [ebx + 0x300]
add eax, 0x3c
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov dword [eax + 0x3c], ecx
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x3c], ecx
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ecx]
and dword [esp + 0x18], 0
mov dword [eax], ecx
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
test eax, eax
jbe 0x4601d6
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.004599de
mov ecx, dword [esi]
inc dword [esp + 0x18]
mov byte [ecx + 0x50], al
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x460166
mov esi, dword [ebx + 0x304]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
test eax, eax
jbe 0x460267
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.004599de
mov ecx, dword [esi]
inc dword [esp + 0x18]
mov byte [ecx + 0x50], al
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x4601f7
lea eax, [ebx + 0x44]
mov byte [esp + 0xf], 1
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x4602a3
lea edi, [ebx + 0x44]
call fcn.00458652
push 0
push dword [eax]
call fcn.0045f850
test al, al
je 0x46029e
lea eax, [ebx + 0x44]
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x46027a
jmp 0x4602a3
mov byte [esp + 0xf], 0
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x18], eax
call fcn.00458652
mov eax, dword [eax]
mov esi, dword [ebx + 0x300]
add eax, 0x3c
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov dword [eax + 0x3c], ecx
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x3c], ecx
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ecx]
and dword [esp + 0x18], 0
mov dword [eax], ecx
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
test eax, eax
jbe 0x4603ec
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.004599de
mov ecx, dword [esi]
inc dword [esp + 0x18]
mov byte [ecx + 0x50], al
mov esi, dword [ebx + 0x300]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x46037c
mov esi, dword [ebx + 0x304]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
test eax, eax
jbe 0x46047d
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
mov dword [esp + 0x24], eax
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x2c
call fcn.00458652
mov esi, eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.004599de
mov ecx, dword [esi]
inc dword [esp + 0x18]
mov byte [ecx + 0x50], al
mov esi, dword [ebx + 0x304]
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x2c
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x46040d
cmp byte [esp + 0xf], 0
je 0x460496
cmp dword [ebx + 0x214], 1
jg 0x4604ed
cmp dword [ebx + 0x218], 0
jg 0x4604ed
inc dword [ebx + 0x304]
mov edi, dword [ebx + 0x304]
lea esi, [ebx + 0x44]
mov eax, esi
call fcn.0041ae5a
cmp edi, eax
jb 0x4604dc
inc dword [ebx + 0x300]
mov edi, dword [ebx + 0x300]
mov eax, esi
call fcn.0041ae5a
dec eax
cmp edi, eax
jb 0x4604cf
and dword [ebx + 0x300], 0
mov eax, dword [ebx + 0x300]
inc eax
mov dword [ebx + 0x304], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x23
jl 0x45feb7
jmp 0x460543
mov esi, dword [0x57b55c]
push 0
call fcn.004e0031
fld dword [0x5446c0]
push 3
pop ecx
cdq
idiv ecx
add edx, 0xe
push edx
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_puzzle_one_move
push ecx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
mov byte [ebx + 0x308], 1
jmp 0x460543
and dword [ebx + 0x300], 0
mov dword [ebx + 0x304], 1
and dword [esp + 0x10], 0
lea eax, [ebx + 0x64]
call fcn.0041ae5a
test eax, eax
jbe 0x460727
mov esi, dword [esp + 0x10]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x10
call fcn.0041ae5a
test eax, eax
jbe 0x4605c2
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x10
call fcn.00458652
push 0
push dword [eax]
call fcn.0045f850
test al, al
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
je 0x4606a2
inc dword [esp + 0x18]
call fcn.00458652
mov eax, dword [eax]
add eax, 0x10
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x460577
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
call fcn.0045e682
test al, al
jne 0x460711
and dword [esp + 0x18], 0
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
call fcn.0041ae5a
test eax, eax
jbe 0x46068d
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov esi, dword [esp + 0x18]
mov edi, dword [eax]
call fcn.00458652
push 0
push dword [eax]
call fcn.00458f45
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
add edi, 0x10
call fcn.00458652
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
mov dword [esp + 0x24], eax
call fcn.00458652
mov esi, dword [esp + 0x18]
mov edi, dword [eax]
call fcn.00458652
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
movzx ecx, word [ecx + 0x14]
mov esi, dword [eax]
push 0
push dword [ecx*4 + 0x57251c]
push ebx
call fcn.00487488
mov esi, dword [esp + 0x10]
inc dword [esp + 0x18]
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x4605f9
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
call fcn.0045a452
jmp 0x460711
call fcn.00458652
fld dword [0x543950]
mov eax, dword [eax]
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x38]
and dword [esp + 0x18], 0
lea edi, [ebx + 0x64]
call fcn.00458652
mov eax, dword [eax]
call fcn.0041ae5a
test eax, eax
jbe 0x460711
mov esi, dword [esp + 0x10]
lea edi, [ebx + 0x64]
call fcn.00458652
mov esi, dword [esp + 0x18]
mov edi, dword [eax]
call fcn.00458652
fld dword [0x543950]
mov eax, dword [eax]
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x18]
inc dword [esp + 0x18]
lea edi, [ebx + 0x64]
mov byte [eax + 0x24], 0
call fcn.00458652
mov eax, dword [eax]
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x4606ce
inc dword [esp + 0x10]
lea eax, [ebx + 0x64]
call fcn.0041ae5a
cmp dword [esp + 0x10], eax
jb 0x460558
lea eax, [ebx + 0x44]
call fcn.0041ae5a
test eax, eax
jbe 0x460b48
cmp byte [ebx + 0x30a], 0
jne 0x460b55
lea eax, [ebx + 0x64]
mov byte [esp + 0xf], 1
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x46078a
lea edi, [ebx + 0x64]
call fcn.00458652
lea edi, [ebx + 0x64]
mov dword [esp + 0x24], eax
call fcn.00458652
mov edi, eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.004599de
mov ecx, dword [edi]
mov byte [ecx + 0x50], al
lea eax, [ebx + 0x64]
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x460757
lea edi, [ebx + 0x44]
mov eax, edi
call fcn.0041ae5a
mov dword [esp + 0x18], eax
mov eax, edi
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x460852
lea edi, [ebx + 0x44]
call fcn.00458652
push 0
push dword [eax]
call fcn.0045f850
test al, al
lea edi, [ebx + 0x44]
jne 0x46080e
dec dword [esp + 0x18]
mov byte [esp + 0xf], al
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], 0
je 0x4607fb
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp byte [eax + 0x7b], 0
je 0x4607fb
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.00478650
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x7d], 1
jmp 0x460841
call fcn.00458652
fld dword [0x543c78]
mov eax, dword [eax]
push 1
push ecx
push ecx
mov ecx, dword [eax + 0x3c]
fst dword [esp + 4]
fstp dword [esp]
push 0
call fcn.004779f1
lea edi, [ebx + 0x44]
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x7d], 0
lea eax, [ebx + 0x44]
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x4607a9
cmp byte [ebx + 0x2eb], 0
jne 0x460b48
fild dword [esp + 0x18]
lea eax, [ebx + 0x44]
fstp dword [esp + 0x24]
call fcn.0041ae5a
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x460881
fadd dword [0x5439c0]
fdivr dword [esp + 0x24]
push ecx
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push dword [0x57b54c]
call fcn.0045e6bb
cmp byte [esp + 0xf], 0
je 0x460b48
fldz
push 1
fst dword [ebx + 0x2f0]
sub esp, 0xc
fld dword [0x543fe4]
mov edi, esp
fstp dword [esp + 0x3c]
lea esi, [esp + 0x3c]
fld dword [0x543fe0]
push 0x54060c
fstp dword [esp + 0x44]
push str.fx_final_klika.cug
mov byte [ebx + 0x30a], 1
mov byte [ebx + 0x2e0], 0
fstp dword [esp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004064de
mov ecx, eax
call fcn.00410903
mov ecx, dword [0x57b4d8]
fld dword [0x54442c]
mov edx, dword [ecx]
fstp dword [eax + 0x6c]
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfx_fireball.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfxoasis_temples_glow.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
push 0x78
call fcn.004e0321
test eax, eax
pop ecx
je 0x460976
push 0x53e02c
mov ebx, eax
call fcn.0049a466
mov ebx, eax
jmp 0x460978
xor ebx, ebx
fld dword [0x543fe4]
sub esp, 0x18
fstp dword [esp + 0x44]
mov edi, esp
fld dword [0x543fe0]
lea esi, [esp + 0x44]
fstp dword [esp + 0x48]
fldz
fstp dword [esp + 0x4c]
fld dword [0x543a90]
fstp dword [esp + 0x14]
fld dword [0x544b94]
fstp dword [esp + 0x10]
fld dword [0x543a1c]
fstp dword [esp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 7
movsd dword es:[edi], dword [esi]
call fcn.0049a526
mov ecx, dword [0x57b4d8]
mov eax, dword [ecx]
xor edi, edi
push edi
push edi
push 1
push ebx
call dword [eax + 0x10]
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfxgrowsprite.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.khufuwelldone.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
mov eax, dword [0x57b550]
cmp eax, edi
je 0x460a2e
mov dword [eax + 0x88], 3
mov eax, dword [0x57b54c]
cmp eax, edi
je 0x460a3f
fldz
fstp dword [eax + 0x1ec]
mov ecx, dword [0x57b4d8]
cmp ecx, edi
je 0x460a55
fld dword [0x5446b8]
fstp dword [ecx + 0xb8]
mov edx, dword [0x57b55c]
cmp edx, edi
je 0x460a95
fld dword [0x544778]
push 1
push 0xffffffffffffffff
push ecx
push ecx
fstp dword [esp + 4]
push str.ttevt_puzzle_comp
push ecx
mov esi, edx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
pop ecx
push eax
call fcn.00467531
mov eax, dword [0x57b54c]
mov ecx, dword [0x57b4d8]
cmp ecx, edi
mov esi, dword [esp + 0x14]
je 0x460ac0
push dword [esi + 0x2c8]
push dword [eax + 0x218]
push dword [esi + 0x2c4]
push ecx
call fcn.0045368c
mov eax, dword [0x57b54c]
mov ecx, dword [0x57b4d8]
cmp eax, edi
je 0x460aca
mov dword [eax + 0x200], edi
cmp eax, edi
mov byte [ecx + 0x144], 1
mov byte [ecx + 0x145], 1
je 0x460aef
call fcn.0046cc72
mov eax, dword [0x57b54c]
cmp eax, edi
je 0x460aef
call fcn.0046897c
mov eax, esi
call fcn.00488a7b
mov esi, dword [esi + 0x29c]
cmp esi, edi
je 0x460b44
fld dword [0x543ab8]
sub esp, 0xc
fstp dword [esp + 8]
fldz
fstp dword [esp + 4]
fld dword [0x543950]
fstp dword [esp]
push esi
call fcn.0041cab2
call fcn.00427763
mov esi, dword [esp + 0x14]
mov ebx, dword [esi + 0x29c]
add ebx, 0xc
call fcn.0041a39b
and dword [esi + 0x29c], 0
mov ebx, esi
jmp 0x460b48
mov ebx, dword [esp + 0x14]
cmp byte [ebx + 0x30a], 0
je 0x460da3
call fcn.004014e2
mov esi, 0x84
add eax, esi
test byte [eax + 1], 2
jbe 0x460b70
cmp byte [eax + 0x108], 0
je 0x460bd0
call fcn.004014e2
add eax, esi
test byte [eax + 2], 2
jbe 0x460b86
cmp byte [eax + 0x108], 0
je 0x460bd0
call fcn.004014e2
add eax, esi
test byte [eax + 0x1b], 2
jbe 0x460b9c
cmp byte [eax + 0x108], 0
je 0x460bd0
call fcn.004014e2
add eax, esi
test byte [eax + 0x20], 2
jbe 0x460bb2
cmp byte [eax + 0x108], 0
je 0x460bd0
call fcn.004014e2
add eax, esi
test byte [eax + 0xd], 2
jbe 0x460da3
cmp byte [eax + 0x108], 0
jne 0x460da3
fldz
mov eax, dword [0x57b4d8]
mov esi, dword [0x57b55c]
fstp dword [ebx + 0x168]
test esi, esi
mov dword [ebx + 0x164], 4
mov byte [eax + 0x144], 1
mov byte [eax + 0x145], 1
je 0x460c06
xor al, al
call fcn.00467cc5
mov eax, dword [0x57b54c]
test eax, eax
je 0x460c16
mov dword [eax + 0x44], 3
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfxclick.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
jmp 0x460da3
cmp eax, 4
jne 0x460da3
fld dword [ebx + 0x2f0]
lea edi, [ebx + 0x54]
fadd dword [ebp + 8]
mov eax, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], esi
fstp dword [ebx + 0x2f0]
call fcn.0041ae5a
test eax, eax
jbe 0x460c9d
call fcn.00458652
mov ecx, dword [eax]
call fcn.0045a98f
test al, al
je 0x460c80
inc dword [esp + 0x10]
call fcn.00458652
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
je 0x460c91
inc dword [esp + 0x24]
mov eax, edi
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x460c6c
mov eax, edi
call fcn.0041ae5a
fld dword [ebx + 0x2f0]
fcomp qword [0x543ae8]
mov esi, eax
sub esi, dword [esp + 0x10]
mov dword [esp + 0x10], esi
fnstsw ax
test ah, 0x41
jne 0x460d77
jmp 0x460ccb
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x460d77
call fcn.004e0031
cdq
idiv esi
and dword [esp + 0x1c], 0
and dword [esp + 0x18], 0
mov eax, edi
mov dword [esp + 0x2c], edx
call fcn.0041ae5a
test eax, eax
jbe 0x460d4e
mov esi, dword [esp + 0x18]
call fcn.00458652
mov ecx, dword [eax]
call fcn.0045a98f
test al, al
jne 0x460d3d
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x1c]
jne 0x460d39
call fcn.00458652
push 0
push dword [eax]
call fcn.00458f45
call fcn.00458652
mov esi, dword [eax]
push 0
push dword [0x57251c]
push ebx
call fcn.00487488
dec dword [esp + 0x10]
inc dword [esp + 0x1c]
inc dword [esp + 0x18]
mov eax, edi
call fcn.0041ae5a
cmp dword [esp + 0x18], eax
jb 0x460cf4
fld dword [ebx + 0x2f0]
fld qword [0x543ae8]
fsub st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x2f0]
fld dword [ebx + 0x2f0]
fcompp
fnstsw ax
test ah, 0x41
je 0x460cc7
push 0
call fcn.0047f5e9
mov eax, edi
call fcn.0041ae5a
cmp dword [esp + 0x24], eax
jne 0x460da3
fld dword [ebx + 0x2f0]
fcomp qword [0x543ae8]
fnstsw ax
test ah, 0x41
jne 0x460da3
call fcn.0047ec35
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret 4