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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6345c9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
mov al, byte [ebp + 8]
test al, al
push ebx
push esi
push edi
mov esi, ecx
je 0x4b6a30
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x24], esp
lea eax, [esp + 0x3b]
push eax
push str.set_delay_2.2
mov byte [esi + 0x201c], 1
call fcn.00403db0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x40], esp
lea edx, [esp + 0x53]
push edx
push str.fieldReminder
mov dword [esp + 0x19c], 0
call fcn.00403db0
or ebx, 0xffffffff
mov dword [esp + 0x194], ebx
call fcn.0045c060
add esp, 0x18
mov ecx, esp
mov dword [esp + 0x24], esp
lea eax, [esp + 0x3b]
push eax
push str.set_message_Reshufle
call fcn.00403db0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x40], esp
lea edx, [esp + 0x53]
push edx
push str.fieldReminder
mov dword [esp + 0x19c], 1
call fcn.00403db0
mov dword [esp + 0x194], ebx
call fcn.0045c060
add esp, 0x18
mov ecx, esp
mov dword [esp + 0x24], esp
lea eax, [esp + 0x3b]
push eax
push str.report_to_GameField
call fcn.00403db0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x40], esp
lea edx, [esp + 0x53]
push edx
push str.fieldReminder
mov dword [esp + 0x19c], 2
call fcn.00403db0
mov dword [esp + 0x194], ebx
call fcn.0045c060
add esp, 0x30
lea eax, [esp + 0x23]
push eax
push str.NoMovesReshuffle
lea ecx, [esp + 0xb8]
call fcn.00403db0
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esi + 0x118]
mov dword [esp + 0x168], 3
call fcn.00417340
mov edi, eax
mov eax, dword [esp + 0xc4]
lea edx, [esp + 0xc0]
cmp eax, edx
mov dword [esp + 0x164], ebx
je 0x4b69cb
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x4b69cb
sub eax, ecx
cmp eax, 0x80
jbe 0x4b69c1
push ecx
call fcn.00611869
add esp, 4
jmp 0x4b69cb
push eax
push ecx
call fcn.005d6970
add esp, 8
push 0
push 0xffffffffffffff9b
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x43]
push eax
push str.no_more_moves
call fcn.00403db0
mov ecx, 0x16c7860
call fcn.0046b8b0
mov ecx, edi
mov dword [edi], 0x43c80000
mov dword [edi + 4], 0x43c80000
call fcn.00439fe0
mov eax, dword [esi + 0xfc]
inc eax
mov byte [esi + 0x1f48], 1
mov dword [esi + 0xfc], eax
mov ecx, dword [esp + 0x15c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
sub esp, 0xc
mov eax, esp
mov dword [eax], 0x6580c8
xor ecx, ecx
mov dword [eax + 4], ecx
mov edx, dword [eax]
mov edx, dword [edx + 4]
mov dword [edx + eax + 4], ecx
mov eax, dword [esi + 0x1b04]
mov ecx, dword [esi + 0x1b00]
mov dword [esp + 0x18], esp
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.004ab6c0
mov al, byte [ebp + 0xc]
test al, al
mov dword [esp + 0x164], 4
jne 0x4b6cf5
mov eax, dword [esi + 0x1b00]
xor ebx, ebx
test eax, eax
jle 0x4b6bf6
lea ebx, [ebx]
mov eax, dword [esi + 0x1b04]
xor edi, edi
test eax, eax
jle 0x4b6be7
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x4b6b80
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
cmp dword [eax + 4], 0x10
jge 0x4b6b80
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov byte [esp + 0x164], 5
je 0x4b6b35
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
push 1
sub esp, 0xc
mov edx, esp
mov dword [esp + 0x1c], esp
push edx
add ecx, eax
call fcn.0048ea80
mov ecx, eax
call fcn.00497d40
mov ecx, dword [esp + 0x38]
call fcn.0049e330
jmp 0x4b6b37
xor eax, eax
push 1
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0x16c], 4
call fcn.0048eed0
lea edx, [esp + 0xa4]
push edx
push edi
push ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x170], 6
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, eax
call fcn.00493570
lea ecx, [esp + 0xa4]
jmp 0x4b6bcb
xor eax, eax
mov dword [esp + 0x88], 0x6580c8
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea eax, [esp + 0x88]
push eax
push edi
push ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x170], 0xa
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, eax
call fcn.00493570
lea ecx, [esp + 0x88]
mov byte [esp + 0x164], 4
call fcn.0048f9a0
mov eax, dword [esi + 0x1b04]
inc edi
cmp edi, eax
jl 0x4b6aa0
mov eax, dword [esi + 0x1b00]
inc ebx
cmp ebx, eax
jl 0x4b6a90
mov eax, dword [esi + 0x1b00]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x24], ebx
jle 0x4b6cf5
lea ebx, [ebx]
mov eax, dword [esi + 0x1b04]
xor edi, edi
test eax, eax
jle 0x4b6ce2
push edi
push ebx
lea ecx, [esp + 0x48]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
cmp dword [ecx], 0
je 0x4b6cd3
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ebx, eax
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add eax, 0xffffffd6
cdq
sub eax, edx
mov edx, dword [esi + 0x1b04]
sar eax, 1
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
sub edx, edi
dec edx
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
push 0
push 0
push 0
fmul st(2)
push 0
push 0x40200000
push 0
fadd st(1)
push 0
fstp dword [esp + 0x44]
mov eax, dword [esp + 0x44]
fild dword [esp + 0x40]
push eax
fmul st(2)
fadd st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
push ecx
push eax
fstp st(0)
mov eax, dword [ebx]
fstp st(0)
push ecx
mov ecx, dword [eax + 4]
add ecx, ebx
call fcn.0048ea80
mov ecx, eax
call fcn.00497c70
mov ebx, dword [esp + 0x24]
mov eax, dword [esi + 0x1b04]
inc edi
cmp edi, eax
jl 0x4b6c20
mov eax, dword [esi + 0x1b00]
inc ebx
cmp ebx, eax
mov dword [esp + 0x24], ebx
jl 0x4b6c10
mov eax, dword [esi + 0x1b00]
xor ebx, ebx
test eax, eax
jle 0x4b6da1
mov eax, dword [esi + 0x1b04]
xor edi, edi
test eax, eax
jle 0x4b6d92
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x4b6d87
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
cmp dword [eax + 4], 0x10
jge 0x4b6d87
push 0xffffffffffffffff
push 1
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
mov ecx, dword [eax + 0xc]
push ecx
push edi
push ebx
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
mov edx, dword [eax + 8]
push edx
push edi
push ebx
mov ecx, esi
call fcn.004a8d00
mov eax, dword [esi + 0x1b04]
inc edi
cmp edi, eax
jl 0x4b6d15
mov eax, dword [esi + 0x1b00]
inc ebx
cmp ebx, eax
jl 0x4b6d05
mov ecx, esi
mov byte [esi + 0x1b0c], 0
call fcn.004b6160
test al, al
mov byte [esi + 0x1b0c], al
je 0x4b6cf5
mov al, byte [esi + 0x1b28]
test al, al
je 0x4b6dd7
fld dword [esi + 0xc4]
fchs
fstp dword [esi + 0x1b24]
jmp 0x4b6de8
mov dword [esi + 0x1b24], 0
mov byte [esi + 0x1b28], 0
mov al, byte [ebp + 0xc]
test al, al
jne 0x4b8074
xor ebx, ebx
push ebx
push 0xffffffffffffff9b
sub esp, 0x18
mov ecx, esp
lea eax, [ecx + 0x10]
mov dword [esp + 0x2c], esp
mov dword [eax], ecx
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0x14], eax
push 0x65cafc
push str.resuffle
mov byte [esp + 0x18c], 0xe
call fcn.00403b50
mov ecx, 0x16c7860
mov byte [esp + 0x184], 4
call fcn.0046b8b0
mov edx, dword [esi + 0x1b04]
mov edi, dword [esi + 0x1b00]
xor ecx, ecx
push ecx
xor eax, eax
push eax
push edx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.0048fea0
mov eax, dword [esi + 0x1b04]
mov ecx, dword [esi + 0x1b00]
push 4
push eax
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x170], 0xf
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.00493900
mov edi, dword [esi + 0x1b00]
dec edi
mov byte [esp + 0x164], 0x10
js 0x4b7109
lea esp, [esp]
mov ebx, dword [esi + 0x1b04]
dec ebx
js 0x4b7102
lea ecx, [ecx]
test edi, edi
jl 0x4b70fb
cmp edi, dword [esi + 0x1b00]
jge 0x4b70fb
test ebx, ebx
jl 0x4b70fb
cmp ebx, dword [esi + 0x1b04]
jge 0x4b70fb
push ebx
lea ecx, [esi + 0x284]
push edi
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
cmp dword [eax + 4], 0xfffffffe
je 0x4b70fb
push ebx
push edi
lea ecx, [esp + 0x48]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
cmp dword [ecx], 0
je 0x4b70fb
push ebx
push edi
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
mov dword [eax], 0
mov dword [esp + 0x1c], 0
call fcn.006122e1
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul dword [0x656298]
fmul dword [0x65caf0]
call fcn.00611c14
mov ecx, 0xfffffffe
sub ecx, eax
mov dword [esp + 0x24], ecx
call fcn.006122e1
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul dword [0x656298]
fmul dword [0x65caf0]
call fcn.00611c14
mov edx, dword [esp + 0x24]
mov ecx, 0xfffffffe
sub ecx, eax
lea eax, [edx + edi]
test eax, eax
mov dword [esp + 0x14], ecx
jl 0x4b7035
mov ecx, dword [esi + 0x1b00]
mov eax, edx
add eax, edi
cmp eax, ecx
jge 0x4b7035
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ebx]
test eax, eax
jl 0x4b7035
cmp eax, dword [esi + 0x1b04]
jge 0x4b7035
mov edx, dword [esp + 0x14]
lea eax, [edx + ebx]
push eax
mov eax, dword [esp + 0x28]
add eax, edi
push eax
lea ecx, [esi + 0x284]
call fcn.0048f220
mov ecx, eax
call fcn.0048f2c0
cmp dword [eax + 4], 0xfffffffe
je 0x4b7035
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
lea eax, [ecx + ebx]
push eax
lea eax, [edx + edi]
push eax
lea ecx, [esp + 0x48]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
cmp dword [ecx], 0
je 0x4b7035
mov edx, dword [esp + 0x14]
lea eax, [edx + ebx]
push eax
mov eax, dword [esp + 0x28]
add eax, edi
push eax
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 2
je 0x4b7047
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 0xc
mov dword [esp + 0x1c], eax
jl 0x4b6f38
cmp dword [esp + 0x1c], 0xc
jne 0x4b7058
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
lea eax, [ecx + ebx]
lea ecx, [edx + edi]
push eax
mov dword [esp + 0x20], ecx
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], eax
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
or ecx, 2
push ebx
mov dword [eax], ecx
push edi
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
push ebx
push edi
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], eax
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
or ecx, 1
push ebx
mov dword [eax], ecx
push edi
lea ecx, [esp + 0x40]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
dec ebx
jns 0x4b6eb0
dec edi
jns 0x4b6ea0
mov eax, dword [esi + 0x1b00]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x28], ebx
jle 0x4b801a
lea ecx, [ecx]
mov eax, dword [esi + 0x1b04]
xor edi, edi
test eax, eax
jle 0x4b8007
push edi
push ebx
lea ecx, [esp + 0x48]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
cmp dword [ecx], 0
je 0x4b7ff8
push edi
lea ecx, [esi + 0x258]
push ebx
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, eax
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x1b04]
fild dword [esp + 0x1c]
sub eax, edi
dec eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push 0
push 0
push 0
fmul st(2)
push 4
push 0x3f8ccccd
push 0
fadd st(1)
push 0
mov dword [esp + 0x34], ecx
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
fstp dword [esp + 0x38]
fild dword [esp + 0x44]
mov eax, dword [esp + 0x38]
push eax
fstp dword [esp + 0x44]
fxch st(1)
fmul dword [esp + 0x44]
fadd st(1)
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
push edx
push eax
fstp st(0)
push edx
add ecx, dword [esp + 0x44]
call fcn.0048ea80
mov ecx, eax
call fcn.00497c70
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 2
je 0x4b753f
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 1
je 0x4b753f
push 0x74
call fcn.004063f0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x164], 0x1a
je 0x4b7512
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x164], 0x1b
je 0x4b729b
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
push 1
sub esp, 0xc
mov edx, esp
mov dword [esp + 0x1c], esp
push edx
add ecx, eax
call fcn.0048ea80
mov ecx, eax
call fcn.00497d40
mov ecx, dword [esp + 0x28]
call fcn.0049e330
mov dword [esp + 0x1c], eax
jmp 0x4b72a3
mov dword [esp + 0x1c], 0
push 0x40
mov byte [esp + 0x168], 0x1a
call fcn.004063f0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x164], 0x1c
je 0x4b732e
push 1
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
push edi
push ebx
lea ecx, [esp + 0x44]
mov dword [esp + 0x24], eax
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push edx
push ecx
lea ecx, [esp + 0x4c]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov dword [ecx], 0x6580c8
call fcn.00490cf0
mov ecx, dword [esp + 0x24]
call fcn.0049e330
mov dword [esp + 0x14], eax
jmp 0x4b7336
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x1c]
push 1
push 0
push 0x3f8ccccd
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x24], esp
push 1
push edx
mov byte [esp + 0x184], 0x1a
call fcn.0048eed0
mov eax, dword [esp + 0x2c]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x50], esp
push 1
push eax
mov byte [esp + 0x190], 0x1d
call fcn.0048eed0
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 0x1b04]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
sub ecx, edi
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
dec ecx
mov edx, dword [esi]
mov dword [esp + 0x3c], ecx
fild dword [esp + 0x3c]
lea eax, [esp + 0x13c]
push eax
mov ecx, esi
fmul st(2)
mov byte [esp + 0x18c], 0x1e
fadd st(1)
fstp dword [esp + 0x40]
fxch st(1)
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x44]
fstp st(0)
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x154]
push eax
fadd dword [esp + 0x40]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x40]
call dword [edx + 0x14]
fild dword [eax]
mov ecx, dword [esp + 0x3c]
push edi
mov dword [esp + 0xa4], ecx
fadd dword [esp + 0x44]
push ebx
lea ecx, [esp + 0x64]
fadd dword [0x65caec]
fstp dword [esp + 0xa4]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x1b04]
mov ecx, dword [esi + 0xf4]
sub edx, eax
dec edx
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
fimul dword [esp + 0x38]
lea eax, [ecx - 0x2a]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x3c], eax
fiadd dword [esp + 0x3c]
push edi
push ebx
lea ecx, [esp + 0x64]
fstp dword [esp + 0x48]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
fimul dword [esp + 0x3c]
sub eax, edx
mov edx, dword [esi]
sar eax, 1
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x164]
push eax
mov ecx, esi
fiadd dword [esp + 0x40]
fstp dword [esp + 0x40]
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x174]
fadd dword [esp + 0x40]
push eax
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x44]
call dword [edx + 0x14]
fild dword [eax]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x40]
fadd dword [esp + 0x3c]
push edx
push eax
push ecx
fadd dword [0x65caec]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x194], 0x1a
fstp dword [esp + 0xc4]
mov edx, dword [esp + 0xc4]
push edx
call fcn.0049e9f0
jmp 0x4b7514
xor eax, eax
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
push eax
mov byte [esp + 0x178], 0x10
call fcn.0048f070
push 0xffffffffffffffff
lea ecx, [esi + 0x128]
call fcn.004b00e0
jmp 0x4b7ff8
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 2
jne 0x4b7a9c
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 1
je 0x4b7a9c
push 0x74
call fcn.004063f0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x164], 0x1f
je 0x4b7780
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x164], 0x20
je 0x4b75e1
push 1
push edi
push ebx
lea ecx, [esp + 0x4c]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov dword [ecx], 0x6580c8
call fcn.00490cf0
mov ecx, dword [esp + 0x20]
call fcn.0049e330
jmp 0x4b75e3
xor eax, eax
push 1
push 0
push 0x3f8ccccd
sub esp, 0xc
mov ecx, esp
mov dword [ecx], 0x6580c8
mov dword [ecx + 4], 0
mov edx, dword [ecx]
mov edx, dword [edx + 4]
mov dword [esp + 0x44], esp
mov dword [edx + ecx + 4], 0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x30], esp
push 1
push eax
mov byte [esp + 0x190], 0x2a
call fcn.0048eed0
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x1b04]
fild dword [esp + 0x34]
sub eax, edi
dec eax
mov edx, dword [esi]
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
lea eax, [esp + 0xfc]
push eax
mov ecx, esi
fmul st(2)
mov byte [esp + 0x18c], 0x2b
fadd st(1)
fstp dword [esp + 0x38]
fxch st(1)
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x40]
fstp st(0)
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0xec]
push eax
fadd dword [esp + 0x38]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x38]
call dword [edx + 0x14]
fild dword [eax]
mov eax, dword [esi + 0xf4]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
fadd dword [esp + 0x3c]
add eax, 0xffffffd6
cdq
sub eax, edx
fadd dword [0x65caec]
mov edx, dword [esi + 0x1b04]
sar eax, 1
sub edx, edi
fstp dword [esp + 0x84]
mov dword [esp + 0x34], eax
fild dword [esp + 0x38]
dec edx
fild dword [esp + 0x34]
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
mov dword [esp + 0x88], ecx
fmul st(2)
fadd st(1)
mov eax, dword [esi]
fstp dword [esp + 0x34]
fxch st(1)
lea ecx, [esp + 0x10c]
fmul dword [esp + 0x48]
push ecx
mov ecx, esi
fadd st(1)
fstp dword [esp + 0x40]
fstp st(0)
call dword [eax + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x15c]
push eax
fadd dword [esp + 0x38]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x38]
call dword [edx + 0x14]
fild dword [eax]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
fadd dword [esp + 0x3c]
push edx
push eax
push ecx
fadd dword [0x65caec]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x194], 0x1f
fstp dword [esp + 0xb0]
mov edx, dword [esp + 0xb0]
push edx
call fcn.0049e9f0
jmp 0x4b7782
xor eax, eax
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
push eax
mov byte [esp + 0x178], 0x10
call fcn.0048f070
lea ecx, [esi + 0x128]
push 0xffffffffffffffff
call fcn.004b00e0
push 0x74
call fcn.004063f0
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov byte [esp + 0x164], 0x2c
je 0x4b7512
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x164], 0x2d
je 0x4b7822
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov edx, dword [eax]
push 1
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, dword [edx + 4]
add ecx, eax
call fcn.0048ea80
mov ecx, eax
call fcn.00497d40
mov ecx, dword [esp + 0x20]
call fcn.0049e330
mov dword [esp + 0x1c], eax
jmp 0x4b782a
mov dword [esp + 0x1c], 0
push 0x40
mov byte [esp + 0x168], 0x2c
call fcn.004063f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x164], 0x2e
je 0x4b78b5
push 1
push edi
push ebx
lea ecx, [esp + 0x44]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
push edi
push ebx
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c], eax
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
push edx
lea ecx, [esp + 0x4c]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov dword [ecx], 0x6580c8
call fcn.00490cf0
mov ecx, dword [esp + 0x28]
call fcn.0049e330
mov dword [esp + 0x14], eax
jmp 0x4b78bd
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
push 1
push 0
push 0x3f8ccccd
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x44], esp
push 1
push eax
mov byte [esp + 0x184], 0x2c
call fcn.0048eed0
mov edx, dword [esp + 0x2c]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x40], esp
push 1
push edx
mov byte [esp + 0x190], 0x2f
call fcn.0048eed0
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x1b04]
fild dword [esp + 0x34]
sub eax, edi
dec eax
mov edx, dword [esi]
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
lea eax, [esp + 0x11c]
push eax
mov ecx, esi
fmul st(2)
mov byte [esp + 0x18c], 0x30
fadd st(1)
fstp dword [esp + 0x38]
fxch st(1)
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x40]
fstp st(0)
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x14c]
push eax
fadd dword [esp + 0x38]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x38]
call dword [edx + 0x14]
fild dword [eax]
mov ecx, dword [esp + 0x34]
push edi
mov dword [esp + 0x9c], ecx
fadd dword [esp + 0x40]
push ebx
lea ecx, [esp + 0x64]
fadd dword [0x65caec]
fstp dword [esp + 0x9c]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x1b04]
mov ecx, dword [esi + 0xf4]
sub edx, eax
dec edx
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
mov dword [esp + 0x38], ecx
fimul dword [esp + 0x38]
lea eax, [ecx - 0x2a]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
fiadd dword [esp + 0x34]
push edi
push ebx
lea ecx, [esp + 0x64]
fstp dword [esp + 0x44]
call fcn.0048f820
mov ecx, eax
call fcn.0048f450
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
fimul dword [esp + 0x34]
sub eax, edx
mov edx, dword [esi]
sar eax, 1
mov dword [esp + 0x34], eax
lea eax, [esp + 0x12c]
push eax
mov ecx, esi
fiadd dword [esp + 0x38]
fstp dword [esp + 0x38]
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x16c]
fadd dword [esp + 0x3c]
push eax
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x40]
call dword [edx + 0x14]
fild dword [eax]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x3c]
fadd dword [esp + 0x34]
push edx
push eax
push ecx
fadd dword [0x65caec]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x194], 0x2c
fstp dword [esp + 0xcc]
mov edx, dword [esp + 0xcc]
push edx
call fcn.0049e9f0
jmp 0x4b7514
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 2
je 0x4b7cdb
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
test byte [eax], 1
jne 0x4b7cdb
push 0x74
call fcn.004063f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x164], 0x31
je 0x4b7512
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov byte [esp + 0x164], 0x32
je 0x4b7b48
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov edx, dword [eax]
push 1
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, dword [edx + 4]
add ecx, eax
call fcn.0048ea80
mov ecx, eax
call fcn.00497d40
mov ecx, dword [esp + 0x1c]
call fcn.0049e330
jmp 0x4b7b4a
xor eax, eax
push 1
push 0x3e800000
push 0x3f8ccccd
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x44], esp
push 1
push eax
mov byte [esp + 0x184], 0x31
call fcn.0048eed0
sub esp, 0xc
mov eax, esp
mov dword [eax], 0x6580c8
xor ecx, ecx
mov dword [eax + 4], ecx
mov edx, dword [eax]
mov edx, dword [edx + 4]
mov dword [esp + 0x40], esp
mov dword [edx + eax + 4], ecx
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x1b04]
fild dword [esp + 0x30]
sub eax, edi
dec eax
mov edx, dword [esi]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
lea eax, [esp + 0xf4]
push eax
mov ecx, esi
fmul st(2)
mov byte [esp + 0x18c], 0x3d
fadd st(1)
fstp dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x38]
fstp st(0)
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x104]
push eax
fadd dword [esp + 0x34]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x34]
call dword [edx + 0x14]
fild dword [eax]
mov eax, dword [esi + 0xf4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
fadd dword [esp + 0x34]
add eax, 0xffffffd6
cdq
sub eax, edx
fadd dword [0x65caec]
mov edx, dword [esi + 0x1b04]
sar eax, 1
sub edx, edi
fstp dword [esp + 0x74]
mov dword [esp + 0x30], eax
fild dword [esp + 0x38]
dec edx
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
mov dword [esp + 0x78], ecx
fmul st(2)
mov eax, dword [esi]
fadd st(1)
lea ecx, [esp + 0x114]
push ecx
fstp dword [esp + 0x34]
fxch st(1)
mov ecx, esi
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x38]
fstp st(0)
call dword [eax + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x124]
push eax
fadd dword [esp + 0x34]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x34]
call dword [edx + 0x14]
fild dword [eax]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
fadd dword [esp + 0x34]
push edx
push eax
push ecx
fadd dword [0x65caec]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x194], 0x31
fstp dword [esp + 0x88]
mov edx, dword [esp + 0x88]
push edx
call fcn.0049e9f0
jmp 0x4b7514
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
cmp dword [eax], 0
jne 0x4b7f6f
push 0x74
call fcn.004063f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x164], 0x3e
je 0x4b7512
push 0x40
call fcn.004063f0
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov byte [esp + 0x164], 0x3f
je 0x4b7d70
push edi
push ebx
lea ecx, [esi + 0x258]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
mov edx, dword [eax]
push 1
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, dword [edx + 4]
add ecx, eax
call fcn.0048ea80
mov ecx, eax
call fcn.00497d40
mov ecx, dword [esp + 0x1c]
call fcn.0049e330
mov dword [esp + 0x1c], eax
jmp 0x4b7d78
mov dword [esp + 0x1c], 0
push 0x40
mov byte [esp + 0x168], 0x3e
call fcn.004063f0
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov byte [esp + 0x164], 0x40
je 0x4b7dd2
push 1
push edi
push ebx
lea ecx, [esp + 0x4c]
call fcn.0048f820
mov ecx, eax
call fcn.0048f600
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov dword [ecx], 0x6580c8
call fcn.00490cf0
mov ecx, dword [esp + 0x1c]
call fcn.0049e330
mov dword [esp + 0x14], eax
jmp 0x4b7dda
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
push 1
push 0
push 0x3f8ccccd
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x44], esp
push 1
push eax
mov byte [esp + 0x184], 0x3e
call fcn.0048eed0
mov edx, dword [esp + 0x2c]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x40], esp
push 1
push edx
mov byte [esp + 0x190], 0x41
call fcn.0048eed0
mov eax, dword [esi + 0xf4]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
add eax, 0xffffffd6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x1b04]
fild dword [esp + 0x30]
sub eax, edi
dec eax
mov edx, dword [esi]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
lea eax, [esp + 0x134]
push eax
mov ecx, esi
fmul st(2)
mov byte [esp + 0x18c], 0x42
fadd st(1)
fstp dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x38]
fstp st(0)
call dword [edx + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0x144]
push eax
fadd dword [esp + 0x34]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x34]
call dword [edx + 0x14]
fild dword [eax]
mov eax, dword [esi + 0xf4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
fadd dword [esp + 0x34]
add eax, 0xffffffd6
cdq
sub eax, edx
fadd dword [0x65caec]
mov edx, dword [esi + 0x1b04]
sar eax, 1
sub edx, edi
fstp dword [esp + 0x8c]
mov dword [esp + 0x30], eax
fild dword [esp + 0x38]
dec edx
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
mov dword [esp + 0x90], ecx
fmul st(2)
mov eax, dword [esi]
fadd st(1)
lea ecx, [esp + 0xc8]
push ecx
fstp dword [esp + 0x34]
fxch st(1)
mov ecx, esi
fmul dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x38]
fstp st(0)
call dword [eax + 0x14]
fild dword [eax + 4]
mov edx, dword [esi]
lea eax, [esp + 0xac]
push eax
fadd dword [esp + 0x34]
mov ecx, esi
fadd dword [0x65caec]
fstp dword [esp + 0x34]
call dword [edx + 0x14]
fild dword [eax]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x30]
fadd dword [esp + 0x34]
push edx
push eax
push ecx
fadd dword [0x65caec]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x194], 0x3e
fstp dword [esp + 0x78]
mov edx, dword [esp + 0x78]
push edx
call fcn.0049e9f0
jmp 0x4b7514
push edi
push ebx
lea ecx, [esp + 0x38]
call fcn.0048f820
mov ecx, eax
call fcn.0048f8b0
cmp dword [eax], 4
je 0x4b7ff8
push 0x433
push str.c:work_fishdom_aqua_gameRifGameFieldControl.h
sub esp, 0x18
mov ecx, esp
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [esp + 0x4c], esp
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0x14], eax
push 0x65caeb
push str.busy_i__j___4
mov byte [esp + 0x18c], 0x43
call fcn.00403b50
sub esp, 0x18
mov ecx, esp
lea eax, [ecx + 0x10]
mov dword [esp + 0x44], esp
mov dword [eax], ecx
mov dword [esp + 0x44], ecx
mov dword [ecx + 0x14], eax
push 0x65341c
push str.Assertion_failed
mov byte [esp + 0x1a4], 0x45
call fcn.00403b50
mov byte [esp + 0x19c], 0x10
call fcn.00405c50
add esp, 0x38
mov eax, dword [esi + 0x1b04]
inc edi
cmp edi, eax
jl 0x4b7130
mov eax, dword [esi + 0x1b00]
inc ebx
cmp ebx, eax
mov dword [esp + 0x28], ebx
jl 0x4b7120
mov eax, dword [esp + 0x30]
test eax, eax
mov byte [esp + 0x164], 0xf
je 0x4b8047
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push 0x4034a0
push ecx
push 8
push eax
call fcn.00612ca1
push esi
call fcn.00611c89
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
mov byte [esp + 0x164], 4
je 0x4b8074
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x4034a0
push edx
push 8
push eax
call fcn.00612ca1
push esi
call fcn.00611c89
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x164], 0xffffffff
je 0x4b80a4
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push 0x49b840
push ecx
push 8
push eax
call fcn.00612ca1
push esi
call fcn.00611c89
add esp, 4
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8