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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x77fd1d
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
push 0x138
lea esi, [edi + 0x228]
call fcn.006442a0
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xb8], 0
test eax, eax
je 0x684673
push eax
call fcn.0066c650
jmp 0x684675
xor eax, eax
mov dword [esp + 0xb8], 0xffffffff
mov dword [edi + 0x248], eax
mov dword [eax + 0x134], edi
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push 0
call edx
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x9c]
push esi
call edx
mov ecx, dword [edi + 0x248]
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
push ecx
mov ecx, edi
call edx
mov eax, dword [edi + 0x224]
mov esi, 0x15
test eax, eax
je 0x6857b9
cmp eax, esi
je 0x6857b9
cmp eax, 0xa
jne 0x684af4
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push 1
call edx
mov ecx, dword [edi + 0x248]
push 0
add ecx, 0x118
push 0x7a9d0c
call fcn.00403a80
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0x7e8]
push 0x880df8
lea eax, [esp + 0x14]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], 0xc
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
xor ecx, ecx
push 0x23
mov word [esp + 0x20], cx
push str.Match_Time_Gems_to_earn_extra_time.
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
call fcn.00403a80
lea edx, [esp + 0x18]
mov dword [esp + 0xb8], 0xd
mov eax, dword [0x88b148]
push edx
push 0xf7
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0xe
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ebx, 8
cmp dword [esp + 0x4c], ebx
jb 0x684812
mov eax, dword [esp + 0x38]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], 0
mov word [esp + 0x38], cx
cmp dword [esp + 0x30], ebx
jb 0x684848
mov edx, dword [esp + 0x1c]
push edx
call fcn.006441c7
add esp, 4
mov edx, dword [0x88b12c]
xor eax, eax
push 0x8826b8
lea ecx, [esp + 0x14]
mov word [esp + 0x20], ax
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], 0
mov eax, dword [edx + 0x7e8]
push ecx
push eax
call fcn.00462ab0
mov dword [esp + 0xb8], 0xf
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov ecx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [ecx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push 0x44
xor edx, edx
push str.Extra_time_is_added_to_your_next_round__where_point_values_increase_
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
call fcn.00403a80
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xbc], 0x10
mov eax, dword [0x88b148]
push 0xf8
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x11
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ebx, 8
cmp dword [esp + 0x4c], ebx
jb 0x684966
mov ecx, dword [esp + 0x38]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov esi, 7
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], 0
mov word [esp + 0x38], dx
cmp dword [esp + 0x30], ebx
jb 0x68499c
mov eax, dword [esp + 0x1c]
push eax
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
xor ecx, ecx
push 0x8811fc
lea edx, [esp + 0x14]
mov word [esp + 0x20], cx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], 0
mov ecx, dword [eax + 0x7e8]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x12
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov edx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [edx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push 0x45
xor eax, eax
mov edi, 7
push str.Make_matches_quickly_for_a_Speed_Bonus._Max_it_out_for_Blazing_Speed_
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
call fcn.00403a80
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], 0x13
mov eax, dword [0x88b148]
push ecx
push 0xf9
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov edx, dword [ebp + 8]
mov byte [esp + 0xb8], 0x14
mov ebx, dword [edx + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x684aba
mov eax, dword [esp + 0x38]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x4c], edi
xor ecx, ecx
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x48], 0
mov word [esp + 0x38], cx
cmp dword [esp + 0x30], esi
jb 0x68505b
mov edx, dword [esp + 0x1c]
push edx
call fcn.006441c7
add esp, 4
jmp 0x68505b
cmp eax, 0x11
jne 0x684d57
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push 1
call edx
mov ecx, dword [edi + 0x248]
push 0
add ecx, 0x118
push 0x7a9de4
call fcn.00403a80
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0x7e8]
push 0x880ecc
lea eax, [esp + 0x14]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], esi
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Match_butterfly_gems_with_like_colored_gems_to_release_them.
lea ecx, [esp + 0x1c]
call fcn.00403550
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], 0x16
mov eax, dword [0x88b148]
push ecx
push 0xfa
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x17
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ebx, 8
cmp dword [esp + 0x4c], ebx
jb 0x684c12
mov edx, dword [esp + 0x38]
push edx
call fcn.006441c7
add esp, 4
xor esi, esi
xor eax, eax
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], esi
mov word [esp + 0x38], ax
cmp dword [esp + 0x30], ebx
jb 0x684c45
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.006441c7
add esp, 4
mov ecx, dword [0x88b12c]
xor edx, edx
push 0x881a6c
lea eax, [esp + 0x14]
mov word [esp + 0x20], dx
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], esi
mov edx, dword [ecx + 0x7e8]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x18
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Dont_let_any_of_the_butterflies_reach_the_spider_
lea ecx, [esp + 0x1c]
call fcn.00403550
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], 0x19
mov eax, dword [0x88b148]
push ecx
push 0xfb
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov edx, dword [ebp + 8]
mov byte [esp + 0xb8], 0x1a
mov ebx, dword [edx + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x684d4a
mov eax, dword [esp + 0x38]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x4c], 7
jmp 0x684abe
cmp eax, 0x12
jne 0x685153
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push 1
call edx
mov ecx, dword [edi + 0x248]
push 0
add ecx, 0x118
push 0x7aa004
call fcn.00403a80
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0x7e8]
push 0x882a14
lea eax, [esp + 0x14]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x1b
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Make_poker_hands_with_gem_matches.
lea ecx, [esp + 0x38]
call fcn.00403550
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], 0x1c
mov eax, dword [0x88b148]
push ecx
push 0xfc
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x1d
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], esi
call fcn.00406fb0
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x7e8]
push 0x880774
lea edx, [esp + 0x14]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x1e
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x10]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
mov dword [esp + 0x10], 0
add edi, 0xe8
lea ebx, [esp + 0x10]
call fcn.00402070
fld1
mov edx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [edx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.When_Skulls_appear__try_to_avoid_the_hands_that_they_occupy.
lea ecx, [esp + 0x38]
call fcn.00403550
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0xbc], 0x1f
mov eax, dword [0x88b148]
push 0xfd
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x20
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], esi
call fcn.00406fb0
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x7e8]
push 0x881dd4
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00462ab0
mov dword [esp + 0xb8], 0x21
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x10]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov ecx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [ecx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Remove_Skulls_by_filling_the_Eliminator_bar.__Better_hands_fill_it_faster.
lea ecx, [esp + 0x38]
call fcn.00403550
lea edx, [esp + 0x34]
mov dword [esp + 0xb8], 0x22
mov eax, dword [0x88b148]
push edx
push 0xfe
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
push eax
mov eax, dword [ebp + 8]
mov byte [esp + 0xbc], 0x23
mov ebx, dword [eax + 0x248]
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
mov dword [esp + 0xb8], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.00406fb0
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x248]
mov ecx, dword [eax + 0xc8]
sub ecx, dword [eax + 0xc4]
add eax, 0xb8
xor ebx, ebx
test ecx, 0xfffffffc
jle 0x6850d9
nop
mov esi, dword [edi + 0x248]
mov edx, dword [esi + 0xc8]
sub edx, dword [esi + 0xc4]
add esi, 0xb8
sar edx, 2
cmp ebx, edx
jb 0x6850a4
call fcn.006441b7
mov eax, dword [esi + 0xc]
push 1
push 0
lea eax, [eax + ebx*4]
call fcn.0045adf0
mov esi, eax
call fcn.004427a0
mov eax, dword [edi + 0x248]
mov ecx, dword [eax + 0xc8]
sub ecx, dword [eax + 0xc4]
add eax, 0xb8
inc ebx
sar ecx, 2
cmp ebx, ecx
jl 0x685080
push 0x1f
push 0x7aa5d8
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.004016e0
push 0
lea edx, [esp + 0x78]
push edx
lea eax, [edi + 0x288]
mov dword [esp + 0xc0], 0x38
call fcn.00435cc0
cmp dword [esp + 0x8c], 0x10
jb 0x68513b
mov eax, dword [esp + 0x78]
push eax
call fcn.006441c7
add esp, 4
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x14
jne 0x6854ae
mov ecx, dword [edi + 0x248]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
push 1
call eax
push str.Score_as_many_points_as_you_can_before_the_ice_reaches_the_top_
lea ecx, [esp + 0x38]
call fcn.00403550
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], 0x24
mov eax, dword [0x88b148]
push ecx
push 0xff
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
push 0xffffffffffffffff
mov byte [esp + 0xbc], 0x25
mov ecx, dword [edi + 0x248]
push 0
add ecx, 0x118
push eax
call fcn.00401880
mov ecx, esi
call fcn.00406fb0
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], 0xffffffff
call fcn.00406fb0
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x7e8]
push 0x8829f0
lea edx, [esp + 0x14]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x26
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov edx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [edx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Make_matches_to_push_down_the_rising_ice_columns.
lea ecx, [esp + 0x38]
call fcn.00403550
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0xbc], 0x27
mov eax, dword [0x88b148]
push 0x100
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x28
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
mov dword [esp + 0xb8], esi
lea ecx, [esp + 0x34]
call fcn.00406fb0
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x7e8]
push 0x881148
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00462ab0
mov dword [esp + 0xb8], 0x29
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x10]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov ecx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [ecx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Make_vertical_matches_to_smash_ice_columns_and_earn_mega_bonus_points.
lea ecx, [esp + 0x38]
call fcn.00403550
lea edx, [esp + 0x34]
mov dword [esp + 0xb8], 0x2a
mov eax, dword [0x88b148]
push edx
push 0x101
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x2b
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], esi
call fcn.00406fb0
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0x7e8]
push 0x882628
lea eax, [esp + 0x14]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x2c
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x10]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Clearing_ice_fills_the_blue_meter_and_increases_your_score_multiplier.
lea ecx, [esp + 0x1c]
call fcn.00403550
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], 0x2d
mov eax, dword [0x88b148]
push ecx
push 0x102
add eax, 0x7ec
lea esi, [esp + 0x60]
call fcn.004711e0
mov edx, dword [ebp + 8]
mov byte [esp + 0xb8], 0x2e
mov ebx, dword [edx + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
mov dword [esp + 0xb8], 0xffffffff
lea ecx, [esp + 0x18]
jmp 0x685056
cmp eax, 0x16
jne 0x68505e
mov ecx, dword [edi + 0x248]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push 1
call edx
mov eax, dword [edi + 0x248]
add eax, 0x118
push eax
mov edx, 0x7aa334
call fcn.00404b20
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x7e8]
push 0x881fa8
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00462ab0
mov dword [esp + 0xb8], 0x2f
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x10]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.00402070
fld1
mov ecx, dword [ebp + 8]
fstp dword [esp + 0x10]
mov edi, dword [ecx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x10]
call fcn.00421010
push str.Make_matches_directly_next_to_ground_to_dig_down.
lea ecx, [esp + 0x38]
call fcn.00403550
lea edx, [esp + 0x34]
mov dword [esp + 0xb8], 0x30
mov eax, dword [0x88b148]
push edx
push 0x103
add eax, 0x7ec
lea esi, [esp + 0x98]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x31
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0xb8], esi
call fcn.00406fb0
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0x7e8]
push 0x882958
lea eax, [esp + 0x54]
push eax
push edx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x32
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x50]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
mov dword [esp + 0x50], 0
add edi, 0xe8
lea ebx, [esp + 0x50]
call fcn.00402070
fld1
mov eax, dword [ebp + 8]
fstp dword [esp + 0x50]
mov edi, dword [eax + 0x248]
add edi, 0x100
lea ebx, [esp + 0x50]
call fcn.00421010
push str.Clear_all_ground_tiles_down_to_the_white_line_to_advance.
lea ecx, [esp + 0x1c]
call fcn.00403550
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], 0x33
mov eax, dword [0x88b148]
push ecx
push 0x104
add eax, 0x7ec
lea esi, [esp + 0x98]
call fcn.004711e0
mov edi, dword [ebp + 8]
mov byte [esp + 0xb8], 0x34
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
or esi, 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0xb8], esi
call fcn.00406fb0
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x7e8]
push 0x880830
lea edx, [esp + 0x18]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 0x35
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x14]
call fcn.0045ad20
mov edi, dword [edi + 0x248]
add edi, 0xe8
lea ebx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.00402070
fld1
mov edx, dword [ebp + 8]
fstp dword [esp + 0x14]
mov edi, dword [edx + 0x248]
add edi, 0x100
lea ebx, [esp + 0x14]
call fcn.00421010
push str.Make_matches_next_to_gold__gems__and_artifacts_to_earn_points.
lea ecx, [esp + 0x5c]
call fcn.00403550
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0xbc], 0x36
mov eax, dword [0x88b148]
push 0x105
add eax, 0x7ec
lea esi, [esp + 0x98]
call fcn.004711e0
mov ecx, dword [ebp + 8]
mov byte [esp + 0xb8], 0x37
mov ebx, dword [ecx + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ecx, esi
call fcn.00406fb0
mov dword [esp + 0xb8], 0xffffffff
lea ecx, [esp + 0x58]
jmp 0x685056
mov ecx, dword [edi + 0x248]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
push 1
call eax
cmp dword [edi + 0x224], esi
jne 0x68589e
xor ecx, ecx
push 0x3f
mov word [esp + 0x20], cx
mov ebx, 7
push str.Score_as_many_points_as_possible_until_there_are_no_more_moves.
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], 0
call fcn.00403a80
lea edx, [esp + 0x18]
mov dword [esp + 0xb8], 1
mov eax, dword [0x88b148]
push edx
push 0xf3
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
push 0xffffffffffffffff
mov byte [esp + 0xbc], 2
mov ecx, dword [edi + 0x248]
push 0
add ecx, 0x118
push eax
call fcn.00401880
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x68585a
mov eax, dword [esp + 0x38]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], 0
mov word [esp + 0x38], cx
cmp dword [esp + 0x30], esi
jb 0x68588b
mov edx, dword [esp + 0x1c]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], 0
mov word [esp + 0x1c], ax
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x7e8]
push 0x88182c
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00462ab0
mov dword [esp + 0xb8], 3
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x14]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov esi, dword [edi + 0x248]
mov eax, dword [esi + 0xf4]
add esi, 0xe8
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp eax, ecx
je 0x68590e
mov ecx, dword [esi + 0x14]
sub ecx, eax
sar ecx, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, eax
sar edx, 2
cmp edx, ecx
jae 0x68592a
mov dword [ebx], 0
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x685948
cmp eax, ebx
jbe 0x685933
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.004024a0
mov esi, dword [edi + 0x248]
fld1
mov ecx, dword [esi + 0x10c]
fst dword [esp + 0x14]
add esi, 0x100
test ecx, ecx
jne 0x685968
xor eax, eax
jmp 0x685970
mov eax, dword [esi + 0x14]
sub eax, ecx
sar eax, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x685988
fstp dword [ebx]
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x6859a8
fstp st(0)
cmp ecx, ebx
jbe 0x685993
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.00421070
push 0x29
xor edx, edx
push str.Swap_adjacent_gems_to_make_rows_of_three.
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
call fcn.00403a80
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xbc], 4
mov eax, dword [0x88b148]
push 0xf4
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov byte [esp + 0xb8], 5
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ebx, 8
cmp dword [esp + 0x4c], ebx
jb 0x685a29
mov ecx, dword [esp + 0x38]
push ecx
call fcn.006441c7
add esp, 4
xor esi, esi
xor edx, edx
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], esi
mov word [esp + 0x38], dx
cmp dword [esp + 0x30], ebx
jb 0x685a5c
mov eax, dword [esp + 0x1c]
push eax
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
xor ecx, ecx
push 0x88107c
lea edx, [esp + 0x18]
mov word [esp + 0x20], cx
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], esi
mov ecx, dword [eax + 0x7e8]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 6
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x14]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov esi, dword [edi + 0x248]
mov eax, dword [esi + 0xf4]
add esi, 0xe8
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp eax, ecx
je 0x685ade
mov ecx, dword [esi + 0x14]
sub ecx, eax
sar ecx, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, eax
sar edx, 2
cmp edx, ecx
jae 0x685afa
mov dword [ebx], 0
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x685b18
cmp eax, ebx
jbe 0x685b03
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.004024a0
mov esi, dword [edi + 0x248]
fld1
mov ecx, dword [esi + 0x10c]
fst dword [esp + 0x14]
add esi, 0x100
test ecx, ecx
jne 0x685b38
xor eax, eax
jmp 0x685b40
mov eax, dword [esi + 0x14]
sub eax, ecx
sar eax, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x685b58
fstp dword [ebx]
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x685b78
fstp st(0)
cmp ecx, ebx
jbe 0x685b63
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.00421070
push 0x2c
xor edx, edx
mov esi, 7
push str.Match_4_or_more_gems_to_create_Special_Gems.
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
call fcn.00403a80
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xbc], esi
mov eax, dword [0x88b148]
push 0xf5
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov byte [esp + 0xb8], 8
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov ebx, 8
cmp dword [esp + 0x4c], ebx
jb 0x685bf6
mov ecx, dword [esp + 0x38]
push ecx
call fcn.006441c7
add esp, 4
xor esi, esi
xor edx, edx
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], esi
mov word [esp + 0x38], dx
cmp dword [esp + 0x30], ebx
jb 0x685c29
mov eax, dword [esp + 0x1c]
push eax
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
xor ecx, ecx
push 0x882a84
lea edx, [esp + 0x18]
mov word [esp + 0x20], cx
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], esi
mov ecx, dword [eax + 0x7e8]
push edx
push ecx
call fcn.00462ab0
mov dword [esp + 0xb8], 9
mov ebx, dword [edi + 0x248]
add ebx, 0xb8
call fcn.0042c170
lea esi, [esp + 0x14]
mov dword [esp + 0xb8], 0xffffffff
call fcn.0045ad20
mov esi, dword [edi + 0x248]
mov eax, dword [esi + 0xf4]
add esi, 0xe8
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp eax, ecx
je 0x685cab
mov ecx, dword [esi + 0x14]
sub ecx, eax
sar ecx, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, eax
sar edx, 2
cmp edx, ecx
jae 0x685cc7
mov dword [ebx], 0
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x685ce5
cmp eax, ebx
jbe 0x685cd0
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.004024a0
mov esi, dword [edi + 0x248]
fld1
mov ecx, dword [esi + 0x10c]
fst dword [esp + 0x14]
add esi, 0x100
test ecx, ecx
jne 0x685d05
xor eax, eax
jmp 0x685d0d
mov eax, dword [esi + 0x14]
sub eax, ecx
sar eax, 2
mov ebx, dword [esi + 0x10]
mov edx, ebx
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x685d25
fstp dword [ebx]
add ebx, 4
mov dword [esi + 0x10], ebx
jmp 0x685d45
fstp st(0)
cmp ecx, ebx
jbe 0x685d30
call fcn.006441b7
mov eax, dword [esi]
push ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov eax, esi
call fcn.00421070
push 0x2a
xor edx, edx
push str.Make_an_L_or_T_match_to_create_a_Star_Gem_
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
call fcn.00403a80
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xbc], 0xa
mov eax, dword [0x88b148]
push 0xf6
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
mov byte [esp + 0xb8], 0xb
mov ebx, dword [edi + 0x248]
push eax
add ebx, 0xd0
call fcn.00404ea0
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x685dc6
mov ecx, dword [esp + 0x38]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], dx
cmp dword [esp + 0x30], esi
jb 0x68505e
mov eax, dword [esp + 0x1c]
push eax
call fcn.006441c7
add esp, 4
jmp 0x68505e