Function at 0x4f6370
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x63cd0b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x108], ebx
mov edi, 1
mov dword [esp + 0xe8], edi
je 0x4f63d8
lea ecx, [esi + 0x2d4]
mov dword [esi + 4], 0x660244
mov dword [esi + 0x1c], 0x66023c
call fcn.0040b080
mov byte [esp + 0xe8], 2
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0xfc]
push ebx
sub esp, 0xc
mov ecx, esp
mov dword [ecx], 0x6580c8
mov edx, dword [eax + 4]
lea eax, [esp + edx + 0x10c]
mov dword [esp + 0x24], esp
push eax
call fcn.00420750
mov edx, dword [esp + 0x100]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], 0x6580c8
mov eax, dword [edx + 4]
lea edx, [esp + eax + 0x10c]
mov dword [esp + 0x74], esp
mov ebp, 3
push edx
mov dword [esp + 0x108], ebp
call fcn.00420750
mov ecx, esi
mov byte [esp + 0x104], 2
call fcn.004a2380
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x1c], vtable.Interface.0
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 4]
sub esp, 0xc
mov ecx, esp
mov dword [esi + eax + 0x1c], vtable.MousePosRememberer.0
mov dword [esp + 0x20], esp
push ecx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov ecx, esi
mov byte [esi + 0x28], bl
mov dword [esp + 0xf8], 4
call fcn.00496530
lea ecx, [esi + 0x30]
call fcn.004f5f00
mov edx, dword [esi + 4]
mov dword [esi], vtable.FishControl.1.0
mov eax, dword [edx + 4]
mov dword [eax + esi + 4], vtable.FishControl.0
lea ecx, [esi + 0x7c]
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
mov dword [esi + 0x94], 0x6580c8
mov dword [esi + 0x98], ebx
mov ecx, dword [esi + 0x94]
mov edx, dword [ecx + 4]
mov dword [edx + esi + 0x98], ebx
lea edi, [esi + 0xac]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [esi + 0xb8], ebp
mov dword [esi + 0xbc], 0x14
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xe0], 0x43fa0000
mov dword [esi + 0xe4], 0x40066666
mov dword [esi + 0xe8], 0x42480000
mov dword [esi + 0xec], 0x42700000
mov dword [esi + 0x104], ebp
mov dword [esi + 0x114], 0x6580c8
mov dword [esi + 0x118], ebx
mov eax, dword [esi + 0x114]
mov ecx, dword [eax + 4]
mov dword [ecx + esi + 0x118], ebx
mov dword [esi + 0x120], 0x6580c8
mov dword [esi + 0x124], ebx
mov edx, dword [esi + 0x120]
mov eax, dword [edx + 4]
mov dword [eax + esi + 0x124], ebx
mov dword [esi + 0x12c], 0x6580c8
mov dword [esi + 0x130], ebx
mov ecx, dword [esi + 0x12c]
mov edx, dword [ecx + 4]
mov dword [edx + esi + 0x130], ebx
mov dword [esi + 0x138], 0x6580c8
mov dword [esi + 0x13c], ebx
mov eax, dword [esi + 0x138]
mov ecx, dword [eax + 4]
mov dword [ecx + esi + 0x13c], ebx
lea ecx, [esi + 0x148]
lea eax, [ecx + 0x10]
mov dword [esi + 0x144], ebx
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
lea ecx, [esi + 0x160]
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
lea ecx, [esi + 0x178]
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
mov eax, 0x6580c8
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], ebx
mov edx, dword [esi + 0x198]
mov ecx, dword [edx + 4]
mov dword [ecx + esi + 0x19c], ebx
mov dword [esi + 0x1a4], eax
mov dword [esi + 0x1a8], ebx
mov edx, dword [esi + 0x1a4]
mov eax, dword [edx + 4]
mov dword [eax + esi + 0x1a8], ebx
lea ecx, [esi + 0x1b8]
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
mov dword [esi + 0x1d0], 0x6580c8
mov dword [esi + 0x1d4], ebx
mov ecx, dword [esi + 0x1d0]
mov edx, dword [ecx + 4]
mov dword [edx + esi + 0x1d4], ebx
mov dword [esi + 0x1dc], 0x6580c8
mov dword [esi + 0x1e0], ebx
mov eax, dword [esi + 0x1dc]
mov ecx, dword [eax + 4]
mov dword [ecx + esi + 0x1e0], ebx
mov dword [esi + 0x1e8], 0x6580c8
mov dword [esi + 0x1ec], ebx
mov edx, dword [esi + 0x1e8]
mov eax, dword [edx + 4]
mov dword [eax + esi + 0x1ec], ebx
lea ebp, [esi + 0x200]
xor eax, eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp], ebp
mov dword [ebp + 4], ebp
lea eax, [esi + 0x208]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax], eax
mov dword [eax + 4], eax
lea eax, [esi + 0x214]
mov dword [esi + 0x210], ebx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 0x21c], ebx
mov eax, 0x6580c8
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], ebx
mov ecx, dword [esi + 0x220]
mov edx, dword [ecx + 4]
mov dword [edx + esi + 0x224], ebx
mov dword [esi + 0x22c], eax
mov dword [esi + 0x230], ebx
mov eax, dword [esi + 0x22c]
mov ecx, dword [eax + 4]
mov dword [ecx + esi + 0x230], ebx
mov dword [esi + 0x238], ebx
mov dword [esi + 0x23c], ebx
mov dword [esi + 0x240], ebx
mov byte [esi + 0x248], bl
mov dword [esi + 0x254], 0x42f00000
mov dword [esi + 0x258], 0x42200000
fld dword [0x663214]
fmul dword [0x65cd50]
mov dword [esi + 0x264], 0x3d4ccccd
fstp dword [esi + 0x25c]
mov dword [esi + 0x274], 0x6580c8
mov dword [esi + 0x278], ebx
mov edx, dword [esi + 0x274]
mov eax, dword [edx + 4]
mov dword [eax + esi + 0x278], ebx
mov dword [esi + 0x290], ebx
mov dword [esi + 0x294], ebx
mov dword [esi + 0x298], ebx
lea eax, [esi + 0x29c]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax], eax
mov dword [eax + 4], eax
lea ecx, [esi + 0x2a4]
lea eax, [ecx + 0x10]
mov dword [eax], ecx
mov dword [ecx + 0x14], eax
mov eax, dword [eax]
mov byte [eax], bl
mov dword [esi + 0x2bc], ebx
mov dword [esi + 0x2c0], ebx
mov dword [esi + 0x2c4], ebx
mov dword [esi + 0x2c8], ebx
mov dword [esi + 0x2cc], ebx
mov dword [esi + 0x2d0], ebx
mov byte [esp + 0xe8], 0x42
push ebx
push ebx
mov ecx, edi
call fcn.00438110
push 0x3f800000
push 0x3e800000
mov ecx, edi
call fcn.00438110
push ebx
push 0x3f800000
mov ecx, edi
call fcn.00438110
push ebx
mov ecx, edi
call fcn.00438180
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.animations
mov byte [esi + 0xa0], bl
call fcn.00403db0
mov ecx, dword [esp + 0x114]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + ecx + 0x118]
mov byte [esp + 0x104], 0x42
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.side
mov byte [esp + 0x108], 0x44
call fcn.00403db0
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + ecx + 0x9c]
mov byte [esp + 0x104], 0x44
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea ecx, [esi + 0x148]
cmp eax, ecx
mov byte [esp + 0xe8], 0x46
je 0x4f68dc
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
cmp edi, ecx
je 0x4f68cf
mov eax, dword [eax]
push edx
push eax
lea ecx, [esi + 0x148]
call fcn.00403ff0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x3c]
cmp eax, edx
mov byte [esp + 0xe8], 0x44
je 0x4f6916
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x4f6916
sub eax, ecx
cmp eax, 0x80
jbe 0x4f690c
push ecx
call fcn.00611869
add esp, 4
jmp 0x4f6916
push eax
push ecx
call fcn.005d6970
add esp, 8
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x2b]
push eax
push str.front
call fcn.00403db0
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x9c]
mov byte [esp + 0x104], 0x44
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea ecx, [esi + 0x160]
cmp eax, ecx
mov byte [esp + 0xe8], 0x48
je 0x4f697e
mov edi, dword [eax + 0x10]
lea edx, [eax + 0x10]
cmp dword [eax + 0x14], edx
je 0x4f6977
mov eax, dword [eax]
push edi
push eax
call fcn.00403ff0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0xe8], 0x44
je 0x4f69b8
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x4f69b8
sub eax, ecx
cmp eax, 0x80
jbe 0x4f69ae
push ecx
call fcn.00611869
add esp, 4
jmp 0x4f69b8
push eax
push ecx
call fcn.005d6970
add esp, 8
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.back
call fcn.00403db0
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + ecx + 0x9c]
mov byte [esp + 0x104], 0x44
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea ecx, [esi + 0x178]
cmp eax, ecx
mov byte [esp + 0xe8], 0x4a
je 0x4f6a20
mov edi, dword [eax + 0x10]
lea edx, [eax + 0x10]
cmp dword [eax + 0x14], edx
je 0x4f6a19
mov eax, dword [eax]
push edi
push eax
call fcn.00403ff0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x3c]
cmp eax, edx
mov byte [esp + 0xe8], 0x44
je 0x4f6a5a
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x4f6a5a
sub eax, ecx
cmp eax, 0x80
jbe 0x4f6a50
push ecx
call fcn.00611869
add esp, 4
jmp 0x4f6a5a
push eax
push ecx
call fcn.005d6970
add esp, 8
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x2b]
push eax
push str.fishInfo
call fcn.00403db0
mov edx, dword [esp + 0x114]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x118]
mov byte [esp + 0x104], 0x44
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x2b]
push eax
push str.templateId
mov byte [esp + 0x108], 0x4c
call fcn.00403db0
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x68]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea ecx, [esi + 0x1b8]
cmp eax, ecx
mov byte [esp + 0xe8], 0x4e
je 0x4f6b06
mov edi, dword [eax + 0x10]
lea edx, [eax + 0x10]
cmp dword [eax + 0x14], edx
je 0x4f6aff
mov eax, dword [eax]
push edi
push eax
call fcn.00403ff0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x3c]
cmp eax, ecx
mov byte [esp + 0xe8], 0x4c
je 0x4f6b2f
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x4f6b2f
sub eax, ecx
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.004016f0
push ebx
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x2f]
push edx
push str.hippocampus
call fcn.00403db0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x68]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c7e0
cmp al, bl
lea edi, [esi + 0x2bc]
mov byte [esi + 0x261], al
fld dword [0x663214]
push ecx
mov ecx, edi
je 0x4f6cd8
fmul dword [0x660184]
fstp dword [esp]
push ebx
call fcn.00438110
push ebx
push 0x3f800000
mov ecx, edi
call fcn.00438110
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.animations
call fcn.00403db0
mov ecx, dword [esp + 0x114]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + ecx + 0x118]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
mov dword [esp + 0x1c], eax
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.jump
mov byte [esp + 0x108], 0x51
call fcn.00403db0
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov byte [esp + 0x104], 0x51
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea ecx, [esi + 0x7c]
cmp eax, ecx
mov byte [esp + 0xe8], 0x53
je 0x4f6c53
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
cmp dword [eax + 0x14], ecx
je 0x4f6c49
mov eax, dword [eax]
push edx
push eax
lea ecx, [esi + 0x7c]
call fcn.00403ff0
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0x78]
cmp eax, edx
mov byte [esp + 0xe8], 0x51
je 0x4f6c7f
mov ecx, dword [esp + 0x68]
cmp ecx, ebx
je 0x4f6c7f
sub eax, ecx
push eax
push ecx
lea ecx, [esp + 0x84]
call fcn.004016f0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0042ce80
sub esp, 0x18
lea eax, [esi + 0x7c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00403e10
lea eax, [esp + 0x44]
push eax
mov ecx, 0x6bfa98
call fcn.0049c9d0
push eax
lea ecx, [esi + 0x94]
mov byte [esp + 0xec], 0x54
call fcn.0049aea0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049af30
jmp 0x4f6d01
fmul dword [0x6532dc]
fstp dword [esp]
push ebx
call fcn.00438110
push ebx
push 0x3f59999a
mov ecx, edi
call fcn.00438110
push ebx
push 0x3f800000
mov ecx, edi
call fcn.00438110
push ebx
mov ecx, edi
call fcn.00438180
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.acceleration
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0xf0]
push 0x3f800000
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x2f]
push edx
push str.accTime
call fcn.00403db0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x68]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c8d0
fstp dword [esi + 0xf4]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.maxAngle
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x3c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.maxPause
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0xf8]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.minPause
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0xfc]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.minAction
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.minSpeed
mov dword [esi + 0x100], eax
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0xdc]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.school
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x268]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.race
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x26c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.curiosity
call fcn.00403db0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x64]
mov byte [esp + 0x100], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x270]
push ebx
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x2f]
push edx
push str.study
call fcn.00403db0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x68]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0045c7e0
sub esp, 0x18
mov byte [esi + 0x108], al
lea eax, [esi + 0x148]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00403e10
lea ecx, [esp + 0x44]
push ecx
mov ecx, 0x6bfa98
call fcn.0049c9d0
push eax
lea ecx, [esi + 0x114]
mov byte [esp + 0xec], 0x60
call fcn.0049aea0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049af30
sub esp, 0x18
lea eax, [esi + 0x160]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00403e10
lea edx, [esp + 0x44]
push edx
mov ecx, 0x6bfa98
call fcn.0049c9d0
push eax
lea ecx, [esi + 0x120]
mov byte [esp + 0xec], 0x61
call fcn.0049aea0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049af30
sub esp, 0x18
lea eax, [esi + 0x178]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00403e10
lea eax, [esp + 0x44]
push eax
mov ecx, 0x6bfa98
call fcn.0049c9d0
push eax
lea ecx, [esi + 0x12c]
mov byte [esp + 0xec], 0x62
call fcn.0049aea0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049af30
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.shadow
call fcn.00403db0
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + ecx + 0x9c]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.0042b430
lea edi, [esi + 0x2a4]
cmp eax, edi
mov byte [esp + 0xe8], 0x64
je 0x4f70f0
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
cmp dword [eax + 0x14], ecx
je 0x4f70e7
mov eax, dword [eax]
push edx
push eax
mov ecx, edi
call fcn.00403ff0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x3c]
cmp eax, edx
mov byte [esp + 0xe8], 0x4c
je 0x4f7119
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x4f7119
sub eax, ecx
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.004016f0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push edi
call fcn.00403e10
lea eax, [esp + 0x44]
push eax
mov ecx, 0x6bfa98
call fcn.004a1c40
push eax
lea ecx, [esi + 0x1dc]
mov byte [esp + 0xec], 0x65
call fcn.0049ab80
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049ac10
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.bubble_blue
call fcn.00403db0
lea eax, [esp + 0x44]
push eax
mov ecx, 0x6bfa98
call fcn.004a1c40
push eax
lea ecx, [esi + 0x1e8]
mov byte [esp + 0xec], 0x66
call fcn.0049ab80
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x4c
call fcn.0049ac10
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.state
call fcn.00403db0
mov ecx, dword [esp + 0x114]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + ecx + 0x118]
mov byte [esp + 0x104], 0x4c
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
push 0x48
mov byte [esp + 0xec], 0x68
call fcn.004063f0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0xe8], 0x69
je 0x4f722e
mov edx, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
push 1
push ebx
push edx
mov edx, dword [esi + 0xf4]
push ecx
push ebx
push edx
mov ecx, eax
call fcn.00492180
jmp 0x4f7230
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x68
call fcn.0048eed0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x198]
mov byte [esp + 0xec], 0x6a
call fcn.00493570
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048f9a0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + eax + 0x20]
cmp ecx, ebx
lea eax, [esp + eax + 0x20]
je 0x4f7c3c
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.stateId
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
test al, 8
mov dword [esi + 0x2c], eax
je 0x4f7503
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.studyStartSpeed
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x24c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.studyStartDist
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x250]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.waiting
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c4b0
cmp al, bl
mov byte [esi + 0x248], al
je 0x4f7503
push 0x48
mov dword [esi + 0x210], ebx
call fcn.004063f0
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebx
mov byte [esp + 0xe8], 0x70
je 0x4f7401
mov ebp, dword [esp + 0x44]
push 1
sub esp, 0xc
or ebp, 2
mov dword [esp + 0x68], esp
mov dword [esp + 0x54], ebp
mov ebp, esp
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x80], esp
lea edx, [esp + 0x3b]
push edx
push str.studyAction
call fcn.00403db0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
push ebp
lea ecx, [esp + ecx + 0x4c]
mov byte [esp + 0x114], 0x70
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
mov ecx, edi
call fcn.004a2500
jmp 0x4f7403
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x68
call fcn.0048eed0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esi + 0x220]
mov byte [esp + 0xec], 0x72
call fcn.00493570
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048f9a0
test byte [esp + 0x44], 2
je 0x4f744c
and dword [esp + 0x44], 0xfffffffd
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.studyX
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x238]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.studyY
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x23c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.studyAngle
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x244]
push ebx
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x2f]
push edx
push str.hippocampusJump
call fcn.00403db0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x3c]
mov byte [esp + 0x104], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c7e0
cmp al, bl
mov byte [esi + 0xa0], al
je 0x4f7647
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.hippoSpeed
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0xa4]
push 0x48
call fcn.004063f0
mov ebp, eax
add esp, 4
mov dword [esp + 0x14], ebp
cmp ebp, ebx
mov byte [esp + 0xe8], 0x78
je 0x4f75fc
mov edi, dword [esp + 0x44]
push 1
sub esp, 0xc
or edi, 4
mov dword [esp + 0x68], esp
mov dword [esp + 0x54], edi
mov edi, esp
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x80], esp
lea edx, [esp + 0x3b]
push edx
push str.jumpAction
call fcn.00403db0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
push edi
lea ecx, [esp + ecx + 0x4c]
mov byte [esp + 0x114], 0x78
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
mov ecx, ebp
call fcn.004a2500
jmp 0x4f75fe
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x68
call fcn.0048eed0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esi + 0x198]
mov byte [esp + 0xec], 0x7a
call fcn.00493570
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048f9a0
test byte [esp + 0x44], 4
je 0x4f7647
and dword [esp + 0x44], 0xfffffffb
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.position
call fcn.00403db0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + ecx + 0x3c]
mov byte [esp + 0x104], 0x68
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655d9c
mov byte [esp + 0x108], 0x7c
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x4c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655da0
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 0x18
mov byte [ecx + 0xec7638], bl
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x660090
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
mov dword [esi + 0x54], eax
push str.currentDest
mov byte [eax + 0xec7638], 1
call fcn.00403db0
lea eax, [esp + 0x44]
mov byte [esp + 0x100], 0x7c
push eax
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0x3c]
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0xec], 0x81
call fcn.00422700
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x7c
call fcn.0042ce80
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x660090
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655da0
mov edi, eax
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esp + 0x1c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655d9c
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 0x58]
mov dword [eax], edx
mov dword [eax + 4], ecx
lea edx, [esp + 0x2c]
mov dword [esp + 0x30], ecx
push edx
mov ecx, esi
mov dword [eax + 8], edi
call fcn.00496530
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov byte [esp + 0xe8], 0x85
call fcn.004f2a00
fld dword [eax + 0x80]
fcomp dword [esi + 0x5c]
fnstsw ax
mov byte [esp + 0x13], 1
test ah, 0x41
jp 0x4f78ce
mov byte [esp + 0x13], bl
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x7c
call fcn.0048fd00
cmp byte [esp + 0x13], bl
je 0x4f793a
push 0x55c
push str.c:work_fishdom_aqua_gameFishControl.h
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x34], esp
lea edx, [esp + 0x33]
push edx
push str._currentDest.y___GetZOrder____GetMinY_true_
call fcn.00403db0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x90], esp
lea eax, [esp + 0x4b]
push eax
push str.Assertion_failed
mov byte [esp + 0x128], 0x86
call fcn.00403db0
mov byte [esp + 0x120], 0x7c
call fcn.00405c50
add esp, 0x38
push ebx
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x2f]
push edx
push str.isObject
call fcn.00403db0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x3c]
mov byte [esp + 0x104], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c7e0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.oldDest
mov byte [esi + 0x260], al
call fcn.00403db0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + ecx + 0x3c]
mov byte [esp + 0x104], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.00428b50
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0xec], 0x89
call fcn.00422700
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x7c
call fcn.0042ce80
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x660090
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655da0
mov edi, eax
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esp + 0x1c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x655d9c
call fcn.00403db0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x80]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
lea edx, [esi + 0x40]
mov dword [edx], eax
sub esp, 0x18
mov dword [edx + 4], ecx
mov dword [esp + 0x48], ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
lea eax, [esp + 0x2b]
mov dword [edx + 8], edi
mov edx, dword [esi + 0xdc]
push eax
push str.angle
mov dword [esi + 0x110], edx
call fcn.00403db0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x10c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.nFrame
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0042b350
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push 0x66005c
mov dword [esi + 0x1b0], eax
call fcn.00403db0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
mov byte [esp + 0x100], 0x7c
call fcn.004304e0
mov ecx, eax
call fcn.0045c590
fstp dword [esi + 0x194]
test byte [esi + 0x2c], 2
je 0x4f7c12
fld dword [esi + 0x110]
mov edx, dword [esi + 0x60]
fmul dword [0x65e78c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x5c], 0x3e800000
mov dword [esp + 0x64], 0x40000000
fdivr dword [esi + 0xe4]
fild dword [esp + 0x1c]
fmul dword [0x653bc4]
fadd dword [0x65e788]
fdivp st(1)
fstp dword [esp + 0x1c]
fld dword [0x657890]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4f7bd2
lea ecx, [esp + 0x64]
jmp 0x4f7beb
fld dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
fcomp dword [0x65b7e8]
fnstsw ax
test ah, 5
lea eax, [esp + 0x5c]
jnp 0x4f7bed
mov eax, ecx
mov ecx, dword [eax]
cmp dword [esi + 0x48], edx
lea edi, [esi + 0x138]
mov dword [esi + 0x190], ecx
mov ecx, edi
jge 0x4f7c0a
lea eax, [esi + 0x120]
jmp 0x4f7c20
lea eax, [esi + 0x12c]
jmp 0x4f7c20
lea edi, [esi + 0x138]
lea eax, [esi + 0x114]
mov ecx, edi
push eax
call fcn.0049aea0
lea ecx, [esp + 0x68]
mov byte [esp + 0xe8], 0x68
call fcn.0042ce80
jmp 0x4f7fcf
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.00496530
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov byte [esp + 0xe8], 0x90
call fcn.004f2a00
cmp byte [eax + 0xd1], bl
lea ecx, [esp + 0x2c]
sete byte [esp + 0x13]
mov byte [esp + 0xe8], 0x68
call fcn.0048fd00
cmp byte [esp + 0x13], bl
je 0x4f7d0a
lea ebp, [esi + 0x58]
lea edi, [esi + 0x4c]
mov edx, ebp
mov ecx, dword [edx]
mov eax, edi
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
push ebx
mov dword [eax + 4], ecx
push ebx
mov dword [eax + 8], edx
push edi
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x30]
mov dword [esi + 0x2c], 1
call fcn.004dcda0
mov edx, dword [eax]
mov ecx, ebp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
fld dword [ebp]
fcomp dword [edi]
fld dword [esi + 0xec]
fmul dword [0x660058]
fnstsw ax
test ah, 0x41
jne 0x4f7ce1
fsubr dword [edi]
jmp 0x4f7ce3
fadd dword [edi]
fstp dword [edi]
mov edx, dword [edi]
mov eax, dword [edi + 4]
lea ecx, [esi + 0x40]
mov dword [ecx], edx
mov edx, dword [edi + 8]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x54]
mov dword [ecx + 8], edx
mov dword [esi + 0x60], eax
mov byte [esi + 0x1b4], 1
jmp 0x4f7fa5
fld dword [esi + 0x58]
push ecx
fsub dword [esi + 0x4c]
mov dword [esi + 0x2c], 0x11
mov dword [esp + 0x60], 0x64
mov dword [esp + 0x68], 0x14
fstp dword [esp]
call fcn.0048daa0
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x6c]
push edx
mov edi, eax
call fcn.00489950
imul edi, eax
mov dword [esp + 0x68], edi
push 0x48
fild dword [esp + 0x6c]
fsubr dword [esi + 0x4c]
fstp dword [esi + 0x1f8]
call fcn.004063f0
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0xe8], 0x91
je 0x4f7d84
push 1
push ebx
push ebx
push ebx
push 1
push 0x3f800000
mov ecx, eax
call fcn.00492180
jmp 0x4f7d86
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x68
call fcn.0048eed0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x1a4]
mov byte [esp + 0xec], 0x92
call fcn.00493570
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048f9a0
mov ecx, dword [esi + 0x1f8]
push 0x44160000
mov dword [esi + 0x1f4], ecx
lea edi, [esi + 0x2c8]
push ebx
mov ecx, edi
mov dword [esi + 0x1fc], 0x44160000
call fcn.00438110
mov edx, dword [esi + 0x50]
push edx
push 0x3f000000
mov ecx, edi
call fcn.00438110
mov eax, dword [esi + 0x50]
push eax
push 0x3f800000
mov ecx, edi
call fcn.00438110
push ebx
mov ecx, edi
call fcn.00438180
lea ecx, [esp + 0x13]
push ecx
push 0x660048
lea ecx, [esp + 0x34]
call fcn.00403db0
lea edx, [esp + 0x2c]
push edx
mov ecx, ebp
mov byte [esp + 0xec], 0x93
call fcn.00417340
lea ecx, [esp + 0x2c]
mov dword [esi + 0x21c], eax
mov byte [esp + 0xe8], 0x68
call fcn.00449cc0
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x1f4]
mov dword [eax], ecx
mov edx, dword [esi + 0x21c]
mov eax, dword [esi + 0x1fc]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x21c]
call fcn.00439fe0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
mov dword [esi + 0x194], ebx
call fcn.00496530
mov edi, eax
fld dword [esi + 0x1fc]
mov byte [esp + 0xe8], 0x94
call fcn.00611c14
push eax
lea edx, [esp + 0xcc]
push edx
call fcn.004060d0
mov ebp, eax
fld dword [esi + 0x1f4]
mov byte [esp + 0xf0], 0x95
call fcn.00611c14
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.004060d0
push eax
lea ecx, [esp + 0xac]
push 0x65b6a0
push ecx
mov byte [esp + 0x104], 0x96
call fcn.00404f30
push 0x65b60c
push eax
lea edx, [esp + 0x8c]
push edx
mov byte [esp + 0x110], 0x97
call fcn.00404ce0
add esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push ebp
push eax
push ecx
mov byte [esp + 0x10c], 0x98
call fcn.00404e00
add esp, 0xc
mov edx, dword [edi]
mov ecx, dword [edx + 4]
add ecx, edi
mov byte [esp + 0x100], 0x99
call fcn.004f2a00
lea ecx, [eax + 0x1c]
mov eax, dword [ecx]
mov byte [esp + 0x100], 0x98
call dword [eax]
lea ecx, [esp + 0x68]
mov byte [esp + 0xe8], 0x97
call fcn.00449cc0
lea ecx, [esp + 0x98]
mov byte [esp + 0xe8], 0x96
call fcn.00449cc0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xe8], 0x95
call fcn.00449cc0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe8], 0x94
call fcn.00449cc0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048fd00
lea eax, [esi + 0x114]
lea edi, [esi + 0x138]
push eax
mov ecx, edi
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], 0x42480000
call fcn.0049aea0
mov dword [esi + 0x1b0], ebx
lea ecx, [esp + 0x68]
push ecx
mov ecx, edi
mov byte [esi + 0x260], bl
call fcn.0049afc0
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov byte [esp + 0xe8], 0x9a
call fcn.004f2a00
mov ecx, dword [esi + 0x1b0]
mov edx, dword [eax]
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call dword [edx + 8]
push eax
lea ecx, [esi + 0x1d0]
mov byte [esp + 0xec], 0x9b
call fcn.0049ab80
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x9a
call fcn.0049ac10
lea ecx, [esp + 0x68]
mov byte [esp + 0xe8], 0x68
call fcn.0048fd00
push ebx
mov ecx, esi
mov byte [esi + 0x1b4], bl
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xd0], ebx
call fcn.004dd420
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0xfc]
call fcn.004304e0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14]
mov eax, dword [esi + 0x268]
mov edi, 0x3f800000
cmp eax, edi
jne 0x4f83fe
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0xf0]
call fcn.004903c0
test al, al
je 0x4f83d0
cmp dword [esi + 0x104], ebx
mov dword [esp + 0x1c], ebx
jle 0x4f83fe
xor edi, edi
jmp 0x4f80c0
push 0x2e8
call fcn.004063f0
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
cmp ebp, ebx
mov byte [esp + 0xe8], 0x9c
je 0x4f8131
mov edx, dword [esp + 0xfc]
push 1
sub esp, 0xc
mov ecx, esp
mov dword [ecx], 0x6580c8
mov eax, dword [edx + 4]
lea edx, [esp + eax + 0x10c]
mov dword [esp + 0x70], esp
push edx
call fcn.00420750
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x64], esp
push 1
push esi
mov byte [esp + 0x10c], 0x9d
call fcn.00450a80
mov ecx, ebp
mov byte [esp + 0x104], 0x9c
call fcn.004f6370
jmp 0x4f8133
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x68
call fcn.0048f070
lea eax, [esp + 0x2c]
lea ebp, [esi + 0x290]
push eax
mov ecx, ebp
mov byte [esp + 0xec], 0x9e
call fcn.004bcb90
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 0x68
call fcn.0048fb50
test byte [esi + 0x2c], 0x10
je 0x4f822b
push 0x48
call fcn.004063f0
add esp, 4
mov dword [esp + 0x48], eax
cmp eax, ebx
mov byte [esp + 0xe8], 0x9f
je 0x4f81d2
push 1
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x68], 0x3f000000
mov dword [esp + 0x70], 0x3e000000
call fcn.00433ec0
fstp dword [esp + 4]
mov ecx, dword [esp + 0x54]
add esp, 4
push ebx
push ebx
push 1
push 0x3f800000
call fcn.00492180
jmp 0x4f81d4
xor eax, eax
push 1
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xf0], 0x68
call fcn.0048eed0
mov ebp, dword [ebp]
mov edx, dword [edi + ebp]
lea eax, [edi + ebp]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [edx + 4]
add ecx, eax
mov byte [esp + 0xec], 0xa0
call fcn.004f2a00
mov ecx, eax
add ecx, 0x1a4
call fcn.00493570
lea ecx, [esp + 0x68]
mov byte [esp + 0xe8], 0x68
call fcn.0048f9a0
jmp 0x4f83b4
mov eax, dword [ebp]
add eax, edi
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.0049d7a0
fmul dword [0x6532dc]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
fstp dword [esp + 0x60]
add ecx, eax
mov dword [esp + 0x90], 0
call fcn.004f2a00
fld dword [esi + 0x4c]
fsub dword [esi + 0x58]
add eax, 0x58
push ecx
mov dword [esp + 0x1c], eax
fstp dword [esp]
call fcn.0048daa0
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x98]
fstp dword [esp + 0x50]
push eax
call fcn.00433ec0
fmul dword [esp + 0x54]
mov eax, dword [esp + 0x24]
add esp, 0xc
fadd dword [eax]
mov ecx, esi
fstp dword [eax]
mov eax, dword [ebp]
add eax, edi
mov dword [esp + 0x18], eax
call fcn.0049d820
fmul dword [0x6532dc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
fstp dword [esp + 0x60]
add ecx, eax
mov dword [esp + 0x8c], 0
call fcn.004f2a00
add eax, 0x5c
lea edx, [esp + 0x60]
mov dword [esp + 0x18], eax
push edx
lea eax, [esp + 0x90]
push eax
call fcn.00433ec0
mov eax, dword [esp + 0x20]
fadd dword [eax]
add esp, 8
mov ecx, esi
fstp dword [eax]
mov eax, dword [ebp]
add eax, edi
mov dword [esp + 0x18], eax
call fcn.0049d7a0
fmul dword [0x6532dc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
fstp dword [esp + 0x60]
add ecx, eax
mov dword [esp + 0x58], 0
call fcn.004f2a00
fld dword [esi + 0x4c]
fsub dword [esi + 0x58]
add eax, 0x4c
push ecx
mov dword [esp + 0x4c], eax
fstp dword [esp]
call fcn.0048daa0
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
lea edx, [esp + 0x64]
fstp dword [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.00433ec0
fmul dword [esp + 0x24]
mov eax, dword [esp + 0x54]
add esp, 0xc
fadd dword [eax]
mov ecx, esi
fstp dword [eax]
mov ebp, dword [ebp]
add ebp, edi
call fcn.0049d820
fmul dword [0x6532dc]
mov ecx, dword [ebp]
mov ecx, dword [ecx + 4]
add ecx, ebp
fstp dword [esp + 0x18]
mov dword [esp + 0x14], 0
call fcn.004f2a00
lea edx, [esp + 0x18]
lea ebp, [eax + 0x50]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.00433ec0
fadd dword [ebp]
add esp, 8
fstp dword [ebp]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x104]
inc eax
add edi, 0xc
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4f80c0
jmp 0x4f83fe
cmp dword [esi + 0x268], edi
jne 0x4f83fe
mov eax, dword [esi + 0x294]
mov edx, dword [esi + 0x290]
cmp edx, eax
lea ecx, [esi + 0x290]
je 0x4f83fa
lea edi, [esp + 0x13]
push edi
push eax
push edx
call fcn.004b06e0
or dword [esi + 0x2c], 4
lea ecx, [esp + 0x20]
mov byte [esp + 0xe8], 0x4c
call fcn.0042ce80
lea ecx, [esp + 0x4c]
mov byte [esp + 0xe8], 0x44
call fcn.0042ce80
lea ecx, [esp + 0x80]
mov byte [esp + 0xe8], 0x42
call fcn.0042ce80
lea ecx, [esp + 0xf0]
mov byte [esp + 0xe8], bl
call fcn.0042ce80
lea ecx, [esp + 0xfc]
mov dword [esp + 0xe8], 0xffffffff
call fcn.0042ce80
mov ecx, dword [esp + 0xe0]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xdc
ret 0x1c