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

Disassembly:
push 0xffffffffffffffff
push 0x5e094f
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x6396a8]
xor eax, esp
mov dword [esp + 0x164], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6396a8]
xor eax, esp
push eax
lea eax, [esp + 0x17c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x18c]
push 1
mov esi, ecx
xor ebx, ebx
push eax
mov dword [esp + 0xcc], esi
mov dword [esp + 0x1c], ebx
call fcn.00580be0
mov dword [esi + method.Sexy::ButtonListener.virtual_24], vtable.FancySliderListener.0
mov dword [esi], vtable.Stew.3.0
mov dword [esi + 0x88], vtable.Stew.2.0
mov dword [esi + method.Cut.virtual_0], vtable.Stew.1.0
mov dword [esi + method.Stew.virtual_0], vtable.Stew.0
mov dword [esi + 0x34c], ebx
mov byte [esi + 0x354], 1
mov dword [esp + 0x184], ebx
mov dword [esi + 0x364], ebx
mov dword [esi + 0x368], ebx
mov dword [esi + 0x36c], ebx
mov dword [esi + 0x370], ebx
or edi, 0xffffffff
mov dword [esi + 0x378], edi
mov dword [esi + 0x380], ebx
mov dword [esi + 0x384], ebx
mov dword [esi + 0x388], ebx
mov dword [esi + 0x390], ebx
mov dword [esi + 0x394], ebx
mov dword [esi + 0x398], ebx
mov dword [esi + 0x3a0], ebx
mov dword [esi + 0x3a4], ebx
mov dword [esi + 0x3a8], ebx
fld1
sub esp, 8
fstp qword [esp]
mov ecx, esi
mov byte [esp + 0x18c], 4
mov byte [esi + 0x3ac], bl
call fcn.00586000
fld qword [0x613e20]
mov dword [esi + 0x1d8], edi
fstp qword [esi + 0x240]
push 0xd
mov edi, 0xf
push str.stepindicator
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
lea eax, [esp + 0x20]
push eax
mov ecx, 0x63e65c
mov byte [esp + 0x188], 5
call fcn.00520690
mov eax, dword [eax]
mov ebp, 0x10
cmp dword [esp + 0x38], ebp
mov dword [esi + 0x1b4], eax
mov byte [esp + 0x184], 4
jb 0x5a02a1
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005b28f2
add esp, 4
push 3
push 0x5f524c
lea ecx, [esp + 0xb0]
mov byte [esi + 0x308], bl
mov dword [esp + 0xc8], edi
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 6
jne 0x5a02e4
call fcn.005b2af7
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x21c]
cmp eax, dword [edx + 4]
jne 0x5a02fa
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0xa8]
add ecx, 8
push edx
call fcn.004790c0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x168]
mov dword [esp + 0x180], edi
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x16c], bl
call fcn.0043b440
cmp dword [esp + 0xc0], ebp
mov byte [esp + 0x184], 8
jb 0x5a0356
mov eax, dword [esp + 0xac]
push eax
call fcn.005b28f2
add esp, 4
push 8
push str.burner_y
lea ecx, [esp + 0x28]
mov dword [esp + 0xc8], edi
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
push 8
push str.burner_x
lea ecx, [esp + 0x12c]
mov byte [esp + 0x18c], 9
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebx
mov byte [esp + 0x130], bl
call fcn.0043df40
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
mov byte [esp + 0x188], 0xa
call fcn.00560e70
lea edx, [esp + 0x124]
push edx
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.00560e70
cmp dword [esp + 0x13c], ebp
mov dword [esp + 0xa0], eax
jb 0x5a03fe
mov eax, dword [esp + 0x128]
push eax
call fcn.005b28f2
add esp, 4
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
mov byte [esp + 0x184], 8
jb 0x5a042e
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005b28f2
add esp, 4
add dword [esi + 0x2c0], 1
mov ecx, esi
call fcn.00560920
test al, al
jne 0x5a051c
push 5
push str.image
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
mov edi, dword [esi + 0x2bc]
mov eax, dword [edi + 0x20]
or dword [esp + 0x14], 1
mov ebp, dword [esi + 0x2c0]
add edi, 0x1c
cmp eax, ebx
mov byte [esp + 0x184], 0xb
je 0x5a04a0
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x5a04a5
call fcn.005b2af7
mov eax, dword [edi + 4]
lea edx, [ebp + ebp*2]
lea ecx, [eax + edx*4]
lea edx, [esp + 0x20]
push edx
call fcn.004790c0
cmp dword [esp + 0x174], 0x10
mov edx, dword [esp + 0x160]
jae 0x5a04d1
lea edx, [esp + 0x160]
mov edi, dword [eax + 0x14]
mov ecx, edi
cmp ecx, edi
jae 0x5a04da
mov ebp, dword [esp + 0x170]
cmp edi, ebp
mov ecx, edi
jb 0x5a04e9
mov ecx, ebp
cmp dword [eax + 0x18], 0x10
jb 0x5a04f4
mov eax, dword [eax + 4]
jmp 0x5a04f7
add eax, 4
push ecx
push edx
push eax
call fcn.00401040
add esp, 0xc
cmp eax, ebx
jne 0x5a0515
cmp edi, ebp
jb 0x5a0515
xor eax, eax
cmp edi, ebp
setne al
cmp eax, ebx
je 0x5a051c
mov byte [esp + 0x1b], 1
jmp 0x5a0520
mov byte [esp + 0x1b], bl
test byte [esp + 0x14], 1
mov edi, 0x10
mov dword [esp + 0x184], 8
je 0x5a054f
and dword [esp + 0x14], 0xfffffffe
cmp dword [esp + 0x38], edi
jb 0x5a054f
mov eax, dword [esp + 0x24]
push eax
call fcn.005b28f2
add esp, 4
cmp byte [esp + 0x1b], bl
jne 0x5a042e
push 0x218
call fcn.005b2b20
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
mov byte [esp + 0x184], 0xc
je 0x5a058d
lea ecx, [esi + 0x340]
push ecx
push 0x1cc
push 0x14
mov ecx, eax
call fcn.005ac0d0
jmp 0x5a058f
xor eax, eax
push eax
mov ecx, esi
mov byte [esp + 0x188], 8
mov dword [esi + 0x344], eax
call fcn.00585fe0
push 0x160
call fcn.005b2b20
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
mov byte [esp + 0x184], 0xd
je 0x5a0758
push 0xb
mov edi, 0xf
push str.food_prefix
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
or dword [esp + 0x14], 2
push 6
push str.food_y
lea ecx, [esp + 0x28]
mov byte [esp + 0x18c], 0xe
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
or dword [esp + 0x14], 4
push 6
push str.food_x
lea ecx, [esp + 0x64]
mov dword [esp + 0x18c], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.0043df40
or dword [esp + 0x14], 8
push 2
mov ebp, 0x10
push 0x5f1108
lea ecx, [esp + 0x8c]
mov dword [esp + 0x18c], ebp
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
call fcn.0043df40
or dword [esp + 0x14], ebp
push 5
push str.image
lea ecx, [esp + 0x12c]
mov dword [esp + 0x18c], 0x11
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebx
mov byte [esp + 0x130], bl
call fcn.0043df40
mov edi, dword [esi + 0x2bc]
mov eax, dword [edi + 0x20]
or dword [esp + 0x14], 0x20
mov ebp, dword [esi + 0x2c0]
add edi, 0x1c
cmp eax, ebx
mov dword [esp + 0x184], 0x12
je 0x5a06e7
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jb 0x5a06ec
call fcn.005b2af7
mov edx, dword [edi + 4]
lea eax, [esp + 0x3c]
lea ecx, [ebp + ebp*2]
lea ecx, [edx + ecx*4]
push eax
call fcn.004790c0
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00560e70
push eax
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.00560e70
push eax
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.00560e70
push eax
lea ecx, [esp + 0x134]
push ecx
mov ecx, esi
call fcn.00569920
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0xb4]
push edx
push eax
call fcn.00554a50
mov edi, 0x10
jmp 0x5a075a
xor eax, eax
mov ebp, 0xf
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x17
mov dword [esi + 0x350], eax
call fcn.00585fc0
test byte [esp + 0x14], 0x20
je 0x5a07b2
and dword [esp + 0x14], 0xffffffdf
cmp dword [esp + 0x13c], edi
jb 0x5a079d
mov ecx, dword [esp + 0x128]
push ecx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
test byte [esp + 0x14], 0x10
je 0x5a07ec
and dword [esp + 0x14], 0xffffffef
cmp dword [esp + 0x9c], edi
jb 0x5a07d7
mov edx, dword [esp + 0x88]
push edx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
test byte [esp + 0x14], 8
je 0x5a0817
and dword [esp + 0x14], 0xfffffff7
cmp dword [esp + 0x74], edi
jb 0x5a080b
mov eax, dword [esp + 0x60]
push eax
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
test byte [esp + 0x14], 4
je 0x5a0842
and dword [esp + 0x14], 0xfffffffb
cmp dword [esp + 0x38], edi
jb 0x5a0836
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
test byte [esp + 0x14], 2
mov dword [esp + 0x184], 8
je 0x5a086c
and dword [esp + 0x14], 0xfffffffd
cmp dword [esp + 0x54], edi
jb 0x5a086c
mov edx, dword [esp + 0x40]
push edx
call fcn.005b28f2
add esp, 4
push 8
push str.pot_food
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x18
jne 0x5a089d
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a08b3
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x3c]
add ecx, 8
push edx
call fcn.004790c0
mov ecx, dword [eax + 0x14]
push ebx
push 0x5ff2b0
push ecx
push ebx
mov ecx, eax
call fcn.0043b680
test eax, eax
setne byte [esp + 0x1b]
cmp dword [esp + 0x54], edi
mov byte [esp + 0x184], 8
jb 0x5a08fa
mov edx, dword [esp + 0x40]
push edx
call fcn.005b28f2
add esp, 4
cmp byte [esp + 0x1b], bl
je 0x5a0987
push 8
push str.pot_food
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x19
jne 0x5a0935
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a094b
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x3c]
add ecx, 8
push edx
call fcn.004790c0
mov ecx, dword [esi + 0x350]
push 1
push eax
call fcn.00554f00
cmp dword [esp + 0x54], edi
mov byte [esp + 0x184], 8
jb 0x5a0987
mov eax, dword [esp + 0x40]
push eax
call fcn.005b28f2
add esp, 4
push 0x1d0
call fcn.005b2b20
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x184], 0x1a
je 0x5a0abe
push 8
push str.spoon_dy
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
or dword [esp + 0x14], 0x40
push 8
push str.spoon_dx
lea ecx, [esp + 0x8c]
mov byte [esp + 0x18c], 0x1b
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
call fcn.0043df40
or dword [esp + 0x14], 0x80
push 7
push str.spoon_y
lea ecx, [esp + 0x64]
mov dword [esp + 0x18c], 0x1c
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.0043df40
or dword [esp + 0x14], 0x100
push 7
push str.spoon_x
lea ecx, [esp + 0x28]
mov dword [esp + 0x18c], 0x1d
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
or dword [esp + 0x14], 0x200
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov dword [esp + 0x188], 0x1e
call fcn.00560e70
push eax
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00560e70
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.00560e70
mov ecx, dword [esi + 0x350]
add eax, dword [ecx + 0x34]
lea edx, [esp + 0x28]
push eax
push edx
mov ecx, esi
call fcn.00560e70
mov ecx, dword [esi + 0x350]
add eax, dword [ecx + 0x30]
mov ecx, edi
push eax
call fcn.005aabe0
jmp 0x5a0ac0
xor eax, eax
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x22
mov dword [esi + 0x348], eax
call fcn.00585f70
test dword [esp + 0x14], 0x200
mov edi, 0x10
je 0x5a0b0f
and dword [esp + 0x14], 0xfffffdff
cmp dword [esp + 0x38], edi
jb 0x5a0b03
mov edx, dword [esp + 0x24]
push edx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
test dword [esp + 0x14], 0x100
je 0x5a0b40
and dword [esp + 0x14], 0xfffffeff
cmp dword [esp + 0x74], edi
jb 0x5a0b34
mov eax, dword [esp + 0x60]
push eax
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
test byte [esp + 0x14], 0x80
je 0x5a0b7d
and dword [esp + 0x14], 0xffffff7f
cmp dword [esp + 0x9c], edi
jb 0x5a0b68
mov ecx, dword [esp + 0x88]
push ecx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
test byte [esp + 0x14], 0x40
mov dword [esp + 0x184], 8
je 0x5a0ba7
and dword [esp + 0x14], 0xffffffbf
cmp dword [esp + 0x54], edi
jb 0x5a0ba7
mov edx, dword [esp + 0x40]
push edx
call fcn.005b28f2
add esp, 4
push 0x1b0
call fcn.005b2b20
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x184], 0x23
je 0x5a0c96
push 3
push 0x5f5f3c
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
or dword [esp + 0x14], 0x400
push 5
push str.top_y
lea ecx, [esp + 0x64]
mov byte [esp + 0x18c], 0x24
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.0043df40
or dword [esp + 0x14], 0x800
push 5
push str.top_x
lea ecx, [esp + 0x28]
mov dword [esp + 0x18c], 0x25
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
or dword [esp + 0x14], 0x1000
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x26
call fcn.00569920
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
call fcn.00560e70
mov edx, dword [esi + 0x350]
add eax, dword [edx + 0x34]
mov ecx, esi
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00560e70
mov ecx, dword [esi + 0x350]
add eax, dword [ecx + 0x30]
mov ecx, edi
push eax
call fcn.005a4910
jmp 0x5a0c98
xor eax, eax
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x29
mov dword [esi + 0x34c], eax
call fcn.00585f70
test dword [esp + 0x14], 0x1000
mov edi, 0x10
je 0x5a0ce7
and dword [esp + 0x14], 0xffffefff
cmp dword [esp + 0x38], edi
jb 0x5a0cdb
mov edx, dword [esp + 0x24]
push edx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
test dword [esp + 0x14], 0x800
je 0x5a0d18
and dword [esp + 0x14], 0xfffff7ff
cmp dword [esp + 0x74], edi
jb 0x5a0d0c
mov eax, dword [esp + 0x60]
push eax
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
test dword [esp + 0x14], 0x400
mov dword [esp + 0x184], 8
je 0x5a0d48
and dword [esp + 0x14], 0xfffffbff
cmp dword [esp + 0x54], edi
jb 0x5a0d48
mov ecx, dword [esp + 0x40]
push ecx
call fcn.005b28f2
add esp, 4
mov ecx, dword [esi + 0x34c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
push ebx
call eax
push 0x280
call fcn.005b2b20
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
cmp edi, ebx
mov byte [esp + 0x184], 0x2a
je 0x5a0dd7
push str.arrow_left
lea ecx, [esp + 0x144]
call fcn.00438a30
or dword [esp + 0x14], 0x2000
lea ecx, [esp + 0x140]
push ecx
mov ecx, 0x63e65c
mov byte [esp + 0x188], 0x2b
call fcn.00520690
fld1
mov ebp, dword [eax]
mov ecx, dword [esi + 0x348]
mov eax, dword [ecx + 0x3c]
cdq
push ebx
sub eax, edx
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x30]
push ebx
sub esp, 8
sar eax, 1
add eax, dword [ecx + 0x34]
fstp qword [esp]
push ebp
push eax
push edx
mov ecx, edi
call fcn.00557ba0
jmp 0x5a0dd9
xor eax, eax
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x2c
mov dword [esi + 0x358], eax
call fcn.00585fc0
test dword [esp + 0x14], 0x2000
mov dword [esp + 0x184], 8
je 0x5a0e29
and dword [esp + 0x14], 0xffffdfff
cmp dword [esp + 0x158], 0x10
jb 0x5a0e29
mov edx, dword [esp + 0x144]
push edx
call fcn.005b28f2
add esp, 4
mov ecx, dword [esi + 0x358]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
push ebx
call edx
push 0x280
call fcn.005b2b20
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
mov byte [esp + 0x184], 0x2d
je 0x5a0ebe
push str.arrow_left
lea ecx, [esp + 0x144]
call fcn.00438a30
or dword [esp + 0x14], 0x4000
lea eax, [esp + 0x140]
push eax
mov ecx, 0x63e65c
mov byte [esp + 0x188], 0x2e
call fcn.00520690
fld1
mov edi, dword [eax]
mov ecx, dword [esi + 0x34c]
mov eax, dword [ecx + 0x3c]
cdq
sub eax, edx
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x30]
push ebx
push ebx
sar eax, 1
add eax, dword [ecx + 0x34]
sub esp, 8
add eax, 0xffffffec
fstp qword [esp]
push edi
push eax
add edx, 0xf
push edx
mov ecx, ebp
call fcn.00557ba0
jmp 0x5a0ec0
xor eax, eax
push eax
mov ecx, esi
mov dword [esp + 0x188], 0x2f
mov dword [esi + 0x35c], eax
call fcn.00585fc0
test dword [esp + 0x14], 0x4000
mov dword [esp + 0x184], 8
je 0x5a0f10
and dword [esp + 0x14], 0xffffbfff
cmp dword [esp + 0x158], 0x10
jb 0x5a0f10
mov ecx, dword [esp + 0x144]
push ecx
call fcn.005b28f2
add esp, 4
mov ecx, dword [esi + 0x35c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
push ebx
call eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x58], 0x14
call fcn.00441630
mov dword [esp + 0x7c], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [eax], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 8], eax
mov dword [esp + 0x80], ebx
mov ecx, dword [esi + 0x218]
mov edx, dword [esi + 0x21c]
mov dword [esp + 0xa0], ecx
mov ecx, esi
mov byte [esp + 0x184], 0x30
mov dword [esp + 0xa4], edx
call fcn.005609d0
test al, al
jne 0x5a17b0
mov ecx, esi
call fcn.005869b0
push 3
push 0x5f0798
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x31
jne 0x5a0fbf
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a0fd5
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x3c]
add ecx, 8
push edx
call fcn.004790c0
mov ecx, dword [eax + 0x14]
push 4
push str.step
push ecx
push ebx
mov ecx, eax
call fcn.0043b680
test eax, eax
setne byte [esp + 0x1b]
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0x184], 0x30
jb 0x5a101e
mov edx, dword [esp + 0x40]
push edx
call fcn.005b28f2
add esp, 4
cmp byte [esp + 0x1b], bl
jne 0x5a17a1
push 0x310
call fcn.005b2b20
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
mov byte [esp + 0x184], 0x32
je 0x5a10ff
push 6
mov edi, 0xf
push str.action
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
or dword [esp + 0x14], 0x8000
push 4
push str.time
lea ecx, [esp + 0x28]
mov byte [esp + 0x18c], 0x33
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
or dword [esp + 0x14], 0x10000
cmp dword [esi + 0x218], ebx
mov dword [esp + 0x184], 0x34
jne 0x5a10b8
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a10ce
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x3c]
add ecx, 8
push edx
call fcn.004790c0
push eax
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.00560da0
mov ecx, dword [esp + 0x5c]
push eax
push ecx
mov ecx, ebp
call fcn.0055ef10
mov edi, eax
jmp 0x5a1101
xor edi, edi
test dword [esp + 0x14], 0x10000
mov dword [esp + 0x1c], edi
je 0x5a113e
and dword [esp + 0x14], 0xfffeffff
cmp dword [esp + 0x38], 0x10
jb 0x5a112b
mov edx, dword [esp + 0x24]
push edx
call fcn.005b28f2
add esp, 4
mov ebp, 0xf
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
jmp 0x5a1143
mov ebp, 0xf
test dword [esp + 0x14], 0x8000
mov dword [esp + 0x184], 0x30
je 0x5a1174
and dword [esp + 0x14], 0xffff7fff
cmp dword [esp + 0x54], 0x10
jb 0x5a1174
mov eax, dword [esp + 0x40]
push eax
call fcn.005b28f2
add esp, 4
push edi
mov ecx, esi
call fcn.00585fc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esi + 0x360]
call fcn.00597850
mov edx, dword [edi + 0x30]
push 6
push str.action
lea ecx, [esp + 0x28]
mov dword [esp + 0x60], edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x37
jne 0x5a11c4
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a11da
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x20]
add ecx, 8
push edx
call fcn.004790c0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x130]
mov dword [esp + 0x148], ebp
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.0043b440
cmp dword [esp + 0x38], 0x10
mov byte [esp + 0x184], 0x39
jb 0x5a122e
mov eax, dword [esp + 0x24]
push eax
call fcn.005b28f2
add esp, 4
mov ecx, dword [esp + 0x138]
push 5
push str.cover
push ecx
push ebx
lea ecx, [esp + 0x134]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.0043b680
test eax, eax
sete al
cmp al, bl
mov byte [esp + 0x1b], al
jne 0x5a12c0
mov edx, dword [esp + 0x138]
push 3
push 0x5f0930
push edx
push ebx
lea ecx, [esp + 0x134]
call fcn.0043b680
test eax, eax
je 0x5a12c0
mov eax, dword [esp + 0x138]
push 5
push 0x5f4480
push eax
push ebx
lea ecx, [esp + 0x134]
call fcn.0043b680
test eax, eax
je 0x5a12c0
lea ecx, [esp + 0x124]
push str.pour
push ecx
call fcn.0045d6d0
add esp, 8
test al, al
je 0x5a177f
push 4
push str.food
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.0043df40
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x3a
jne 0x5a12f1
call fcn.005b2af7
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x21c]
cmp eax, dword [edx + 4]
jne 0x5a1307
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x3c]
add ecx, 8
push edx
call fcn.004790c0
push eax
mov ecx, edi
call fcn.0055f390
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0x184], 0x39
jb 0x5a133e
mov eax, dword [esp + 0x40]
push eax
call fcn.005b28f2
add esp, 4
push 4
push str.food
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.0043df40
push 0x60fee0
lea ecx, [esp + 0x128]
push ecx
lea edx, [esp + 0xd0]
push edx
mov byte [esp + 0x190], 0x3b
call fcn.00441f20
add esp, 0xc
mov edi, eax
cmp dword [esi + 0x218], ebx
mov byte [esp + 0x184], 0x3c
jne 0x5a1396
call fcn.005b2af7
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
cmp ecx, dword [eax + 4]
jne 0x5a13ac
call fcn.005b2af7
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x5c]
add ecx, 8
push edx
call fcn.004790c0
push eax
lea eax, [esp + 0x144]
push edi
push eax
call fcn.00441fd0
add esp, 0xc
cmp dword [esp + 0xe0], 0x10
jb 0x5a13eb
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xcc], bl
cmp dword [esp + 0x74], 0x10
mov byte [esp + 0x184], 0x3f
jb 0x5a141c
mov edx, dword [esp + 0x60]
push edx
call fcn.005b28f2
add esp, 4
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x120]
push ecx
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x84]
lea ecx, [esp + 0x80]
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.0043a260
mov edi, eax
mov eax, dword [edi]
cmp eax, ebx
je 0x5a145b
lea edx, [esp + 0x78]
cmp eax, edx
je 0x5a1460
call fcn.005b2af7
cmp dword [edi + 4], ebp
je 0x5a1487
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x7c]
call fcn.004795e0
push eax
lea ecx, [esi + 0x39c]
call fcn.004663c0
jmp 0x5a1765
mov eax, dword [esi + 0x390]
cmp eax, ebx
jne 0x5a1497
mov dword [esp + 0x1c], ebx
jmp 0x5a14a6
mov ecx, dword [esi + 0x394]
sub ecx, eax
sar ecx, 2
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + 0x39c]
call fcn.004663c0
mov eax, dword [esi + 0x390]
cmp eax, ebx
jne 0x5a14c4
xor edi, edi
jmp 0x5a14cf
mov edi, dword [esi + 0x394]
sub edi, eax
sar edi, 2
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x7c]
call fcn.004795e0
push 0x208
mov dword [eax], edi
call fcn.005b2b20
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
mov byte [esp + 0x184], 0x40
je 0x5a1614
push str.food
lea ecx, [esp + 0x104]
call fcn.00438a30
or dword [esp + 0x14], 0x20000
push str.action
lea ecx, [esp + 0x88]
mov byte [esp + 0x188], 0x41
call fcn.00438a30
or dword [esp + 0x14], 0x40000
cmp byte [esp + 0x1b], bl
mov dword [esp + 0x184], 0x42
je 0x5a157f
push str.top_icon
lea ecx, [esp + 0x24]
call fcn.00438a30
or dword [esp + 0x14], 0x80000
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
mov dword [esp + 0x188], 0x43
call fcn.00560e20
jmp 0x5a15d5
push str.food
lea ecx, [esp + 0x40]
call fcn.00438a30
or dword [esp + 0x14], 0x100000
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov dword [esp + 0x188], 0x44
call fcn.00560d60
push eax
lea eax, [esp + 0xe8]
push str.icon_
push eax
call fcn.00441e70
add esp, 0xc
or dword [esp + 0x14], 0x200000
mov dword [esp + 0x184], 0x45
push eax
mov ecx, 0x63e65c
call fcn.00520690
mov edi, dword [eax]
lea ecx, [esp + 0x100]
push ecx
mov ecx, esi
call fcn.00560d60
push eax
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00560d60
push eax
push edi
push ebx
push 0x2da
mov ecx, ebp
call fcn.005a8d20
mov edi, eax
jmp 0x5a1616
xor edi, edi
test dword [esp + 0x14], 0x200000
mov dword [esp + 0x1c], edi
je 0x5a1662
and dword [esp + 0x14], 0xffdfffff
cmp dword [esp + 0xfc], 0x10
jb 0x5a1646
mov eax, dword [esp + 0xe8]
push eax
call fcn.005b28f2
add esp, 4
mov ebp, 0xf
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe8], bl
jmp 0x5a1667
mov ebp, 0xf
test dword [esp + 0x14], 0x100000
je 0x5a1699
and dword [esp + 0x14], 0xffefffff
cmp dword [esp + 0x54], 0x10
jb 0x5a168d
mov ecx, dword [esp + 0x40]
push ecx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
test dword [esp + 0x14], 0x80000
je 0x5a16cb
and dword [esp + 0x14], 0xfff7ffff
cmp dword [esp + 0x38], 0x10
jb 0x5a16bf
mov edx, dword [esp + 0x24]
push edx
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
test dword [esp + 0x14], 0x40000
je 0x5a170c
and dword [esp + 0x14], 0xfffbffff
cmp dword [esp + 0x9c], 0x10
jb 0x5a16f7
mov eax, dword [esp + 0x88]
push eax
call fcn.005b28f2
add esp, 4
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
test dword [esp + 0x14], 0x20000
mov dword [esp + 0x184], 0x3f
je 0x5a1743
and dword [esp + 0x14], 0xfffdffff
cmp dword [esp + 0x118], 0x10
jb 0x5a1743
mov ecx, dword [esp + 0x104]
push ecx
call fcn.005b28f2
add esp, 4
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + 0x38c]
call fcn.005932a0
mov eax, dword [edi]
mov edx, dword [eax + 0x7c]
push ebx
mov ecx, edi
call edx
push edi
mov ecx, esi
call fcn.00585f70
cmp dword [esp + 0x158], 0x10
jb 0x5a177f
mov eax, dword [esp + 0x144]
push eax
call fcn.005b28f2
add esp, 4
cmp dword [esp + 0x13c], 0x10
mov byte [esp + 0x184], 0x30
jb 0x5a17a1
mov ecx, dword [esp + 0x128]
push ecx
call fcn.005b28f2
add esp, 4
mov ecx, esi
call fcn.005609d0
test al, al
je 0x5a0f83
push str.stepmarker_inactive
lea ecx, [esp + 0x40]
call fcn.00438a30
lea edx, [esp + 0x3c]
push edx
mov ecx, 0x63e65c
mov byte [esp + 0x188], 0x4b
call fcn.00520690
mov edi, dword [eax]
mov ebp, 0x10
cmp dword [esp + 0x54], ebp
mov byte [esp + 0x184], 0x30
jb 0x5a17f7
mov eax, dword [esp + 0x40]
push eax
call fcn.005b28f2
add esp, 4
push 0xe0
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.005b2b20
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x184], 0x4c
je 0x5a1838
mov ecx, dword [esi + 0x3c]
sub ecx, dword [edi + 0x28]
push ebx
push edi
push ecx
push 0x52
mov ecx, eax
call fcn.00558a70
jmp 0x5a183a
xor eax, eax
push eax
mov ecx, esi
mov byte [esp + 0x188], 0x30
mov dword [esi + 0x374], eax
call fcn.00585fc0
mov edx, dword [esi + 0x374]
mov eax, 1
mov dword [edx + 0x50], eax
mov ecx, dword [esi + 0x374]
mov edx, dword [esp + 0xa0]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x78]
mov dword [esi + 0x218], edx
mov dword [esi + 0x21c], eax
mov byte [esp + 0x184], 8
call fcn.004453f0
cmp dword [esp + 0x174], ebp
jb 0x5a18ab
mov ecx, dword [esp + 0x160]
push ecx
call fcn.005b28f2
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x17c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x164]
xor ecx, esp
call fcn.005b2f9b
add esp, 0x174
ret 4