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

Disassembly:
sub esp, 0x8c8
mov dword [esp + 0x28], ecx
push ebx
push esi
push edi
push ebp
call fcn.0046e020
mov ecx, dword [esp + 0x8dc]
cmp dword [ecx], 0x41
je 0x46e08e
push str.MarniSystem_PSXObject::Store
push str.a_difference_of_header
jmp 0x46fc08
mov eax, dword [ecx + 8]
mov esi, dword [esp + 0x8e0]
cmp esi, eax
jl 0x46e0b0
push esi
push eax
push str.the_object_that_you_are_specified_is_incorrect._max..._d_ap..._d_PSXObject::Store
call fcn.0043d360
add esp, 0xc
jmp 0x46fc10
lea edx, [ecx + 0xc]
lea eax, [esi*8]
test byte [ecx + 4], 1
je 0x46e0cf
sub eax, esi
lea esi, [edx + eax*4]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi]
mov eax, dword [esi + 8]
jmp 0x46e0f7
sub eax, esi
lea esi, [edx + eax*4]
mov eax, dword [edx + eax*4 + 0x10]
add eax, 0xc
and eax, 0xfffffffc
lea edx, [eax + ecx]
mov eax, dword [esi]
add eax, 0xc
and eax, 0xfffffffc
lea ebx, [eax + ecx]
mov eax, dword [esi + 8]
add eax, 0xc
and eax, 0xfffffffc
add eax, ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x104], edx
push eax
push edx
push ecx
push 0x64
mov ecx, dword [esp + 0x48]
call fcn.0046dee0
mov dword [esp + 0x2c], eax
cmp eax, 0x10
jg 0x46fbfe
test eax, eax
je 0x46fbfe
mov eax, dword [esp + 0x8e8]
cmp eax, 0xffffffff
jne 0x46e1a6
xor esi, esi
mov edi, 0xfa0
cmp dword [esp + 0x2c], esi
jle 0x46e175
lea ebp, [esp + 0x118]
mov ecx, dword [esp + 0x2c]
mov edx, 0x4000000
test dword [ebp - 8], edx
je 0x46e16f
xor eax, eax
mov ax, word [ebp]
cmp eax, esi
jle 0x46e169
mov esi, eax
cmp eax, edi
jge 0x46e16f
mov edi, eax
add ebp, 0x14
dec ecx
jne 0x46e158
test esi, esi
jne 0x46e183
cmp edi, 0xfa0
jne 0x46e183
xor edi, edi
mov eax, esi
sub eax, edi
cmp eax, 2
jl 0x46e1a0
push edi
push esi
push 0x4c7624
call fcn.0043d360
add esp, 0xc
jmp 0x46fc10
mov dword [esp + 0x34], edi
jmp 0x46e1aa
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x100], 0
mov dword [ecx + 0x4c0], eax
test eax, eax
jle 0x46fb33
mov esi, ecx
lea eax, [esp + 0x108]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x104]
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc], 0
je 0x46e1f8
mov edx, dword [eax]
mov dword [esp + 0x10], 3
lea ecx, [edx + edx*2]
jmp 0x46e20d
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], 4
mov edx, dword [eax]
lea ecx, [edx*4]
mov eax, dword [esp + 0x24]
xor ebp, ebp
mov ax, word [eax + 4]
mov bp, ax
shr ax, 6
and ebp, 0x3f
shl ebp, 4
mov dword [esi + 0x38], ebp
movzx ebp, ax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x3c], ebp
mov ax, word [eax + 0x10]
cmp ax, 0x10
movzx eax, ax
jae 0x46e24d
shl eax, 6
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0
jmp 0x46e25d
sub eax, 0x10
shl eax, 6
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0x100
mov eax, dword [esp + 0x10]
mov ebp, dword [esi]
push eax
push edx
push ecx
mov ecx, esi
call dword [ebp + 4]
test eax, eax
je 0x46fb73
push 0
mov ecx, esi
push 0
mov eax, dword [esi]
call dword [eax + 0x18]
test eax, eax
je 0x46fb82
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], 0
cmp dword [eax], 0
jle 0x46fb0c
mov dword [esp + 0xfc], 0
mov dword [esp + 0x20], 0
xor bp, bp
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
push eax
push edi
call fcn.0046dd30
mov edi, eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
and eax, 0x3dffffff
cmp eax, 0x21010304
ja 0x46e306
je 0x46e2e2
cmp eax, 0x20000304
je 0x46e36a
mov eax, dword [esp + 0x100]
shl eax, 2
lea ecx, [eax + eax*4]
mov edx, dword [esp + ecx + 0x110]
push edx
push 0x4c75cc
call fcn.0043d360
jmp 0x46fc0d
cmp eax, 0x25010607
ja 0x46e320
je 0x46e9d3
cmp eax, 0x24000507
je 0x46e5f8
jmp 0x46e2e2
cmp eax, 0x2c000709
jbe 0x46e2e2
cmp eax, 0x31010506
ja 0x46e33d
je 0x46e2e2
cmp eax, 0x30000406
je 0x46ed79
jmp 0x46e2e2
cmp eax, 0x38000508
ja 0x46e353
je 0x46e2e2
cmp eax, 0x34000609
je 0x46f0c1
jmp 0x46e2e2
cmp eax, 0x39010608
je 0x46e2e2
cmp eax, 0x3c00080c
je 0x46f520
jmp 0x46e2e2
mov eax, dword [edi + 8]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0xc]
and eax, 0xffff
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0xc]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
mov ecx, dword [edi + 8]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
lea eax, [ebp + 1]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
lea edx, [ebp + 2]
fmul dword [0x4a8214]
fstp dword [esp + 0x4c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0x5c], 0x3f800000
mov word [esp + 0xec], bp
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov word [esp + 0xee], ax
fmul dword [0x4a8210]
mov word [esp + 0xf0], dx
lea edx, [esp + 0x3c]
mov dword [esp + 0x58], 0x3f800000
fstp dword [esp + 0x50]
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xac], 0x3f800000
mov ecx, dword [esi]
push edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
push ecx
mov ecx, esi
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
mov dword [esi + 0x1c], 0
mov dword [esi + 0x48], 0
jmp 0x46fad5
mov eax, dword [edi + 0x10]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0x14]
and eax, 0xffff
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0x14]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
mov ecx, dword [edi + 0x10]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x4c]
movsx ecx, word [ecx + 4]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
fmul dword [0x4a8210]
mov eax, dword [esp + 0x24]
fstp dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xa8], ecx
xor ecx, ecx
mov cx, word [eax + 0x10]
cmp ecx, dword [esp + 0x34]
je 0x46e757
fld dword [0x4a8220]
jmp 0x46e75d
fld dword [0x4a8218]
fstp dword [esp + 0x1c]
fild dword [esp + 0x8ec]
fstp dword [esp + 0x18]
mov eax, dword [edi + 4]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x60]
mov al, byte [edi + 5]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x64]
mov eax, dword [edi + 8]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x8c]
mov al, byte [edi + 9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x90]
mov eax, dword [edi + 0xc]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0xb8]
mov al, byte [edi + 0xd]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0xbc]
fld dword [esp + 0x60]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46e87a
fld dword [esp + 0xb8]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46e87a
fld dword [esp + 0x60]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x40
je 0x46e88e
fld dword [esp + 0x8c]
fadd dword [0x4a8228]
fstp dword [esp + 0x8c]
fld dword [esp + 0x64]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46e8c7
fld dword [esp + 0xbc]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46e8c7
fld dword [esp + 0x64]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x46e8db
fld dword [esp + 0x90]
fadd dword [0x4a8228]
fstp dword [esp + 0x90]
mov dword [esp + 0x5c], 0x3f800000
mov word [esp + 0xec], bp
lea eax, [ebp + 1]
mov word [esp + 0xee], ax
lea ecx, [ebp + 2]
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xac], 0x3f800000
mov word [esp + 0xf0], cx
lea ecx, [esp + 0x3c]
mov edx, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
push edx
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
mov dword [esi + 0x1c], 0
jmp 0x46face
mov eax, dword [edi + 0x14]
and eax, 0xffff
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0x14]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0x18]
and eax, 0xffff
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xbf800000
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov cx, word [eax + 0x10]
cmp ecx, dword [esp + 0x34]
je 0x46eafd
fld dword [0x4a8220]
jmp 0x46eb03
fld dword [0x4a8218]
fstp dword [esp + 0x1c]
fild dword [esp + 0x8ec]
fstp dword [esp + 0x18]
mov eax, dword [edi + 4]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x60]
mov al, byte [edi + 5]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x64]
mov eax, dword [edi + 8]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x8c]
mov al, byte [edi + 9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x90]
mov eax, dword [edi + 0xc]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0xb8]
mov al, byte [edi + 0xd]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0xbc]
fld dword [esp + 0x60]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46ec20
fld dword [esp + 0xb8]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46ec20
fld dword [esp + 0x60]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x40
je 0x46ec34
fld dword [esp + 0x8c]
fadd dword [0x4a8228]
fstp dword [esp + 0x8c]
fld dword [esp + 0x64]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46ec6d
fld dword [esp + 0xbc]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46ec6d
fld dword [esp + 0x64]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x46ec81
fld dword [esp + 0x90]
fadd dword [0x4a8228]
fstp dword [esp + 0x90]
mov dword [esp + 0x5c], 0x3f800000
mov word [esp + 0xec], bp
lea eax, [ebp + 1]
mov word [esp + 0xee], ax
lea ecx, [ebp + 2]
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xac], 0x3f800000
mov word [esp + 0xf0], cx
lea ecx, [esp + 0x3c]
mov edx, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
push edx
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
mov dword [esi + 0x1c], 0
jmp 0x46face
mov eax, dword [edi + 8]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0xc]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0x10]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
mov ecx, dword [edi + 8]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x4c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x50]
mov ecx, dword [edi + 0xc]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x74]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x78]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x7c]
mov ecx, dword [edi + 0x10]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xa0]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0xa4]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xa8]
mov eax, dword [edi + 4]
and eax, 0xff
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8230]
fstp dword [esp + 0x54]
xor eax, eax
mov al, byte [edi + 5]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8230]
fstp dword [esp + 0x58]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x58]
and eax, 0xff0000
mov dword [esp + 0x80], ecx
shr eax, 0x10
mov dword [esp + 0x84], edx
mov word [esp + 0xec], bp
mov dword [esp + 0x10], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
lea ecx, [ebp + 1]
lea edx, [ebp + 2]
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
mov word [esp + 0xee], cx
fmul dword [0x4a8230]
mov word [esp + 0xf0], dx
lea edx, [esp + 0x3c]
mov dword [esp + 0x60], 0
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
push edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
push eax
mov ecx, esi
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
mov dword [esi + 0x1c], 1
mov dword [esi + 0x48], 0
jmp 0x46fad5
mov eax, dword [edi + 0x10]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0x14]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0x18]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
mov ecx, dword [edi + 0x10]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x4c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x50]
mov ecx, dword [edi + 0x14]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x74]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x78]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x7c]
mov ecx, dword [edi + 0x18]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xa0]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0xa4]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
xor ecx, ecx
fild dword [esp + 0x10]
mov cx, word [eax + 0x10]
fmul dword [0x4a8210]
cmp ecx, dword [esp + 0x34]
je 0x46f2a4
fstp dword [esp + 0xa8]
fld dword [0x4a8220]
jmp 0x46f2b1
fstp dword [esp + 0xa8]
fld dword [0x4a8218]
fstp dword [esp + 0x1c]
fild dword [esp + 0x8ec]
fstp dword [esp + 0x18]
mov eax, dword [edi + 4]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x60]
mov al, byte [edi + 5]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x64]
mov eax, dword [edi + 8]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x8c]
mov al, byte [edi + 9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x90]
mov eax, dword [edi + 0xc]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0xb8]
mov al, byte [edi + 0xd]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0xbc]
fld dword [esp + 0x60]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46f3ce
fld dword [esp + 0xb8]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46f3ce
fld dword [esp + 0x60]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x40
je 0x46f3e2
fld dword [esp + 0x8c]
fadd dword [0x4a8234]
fstp dword [esp + 0x8c]
fld dword [esp + 0x64]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46f41b
fld dword [esp + 0xbc]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46f41b
fld dword [esp + 0x64]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x46f42f
fld dword [esp + 0x90]
fadd dword [0x4a8234]
fstp dword [esp + 0x90]
mov dword [esp + 0x5c], 0x3f800000
mov word [esp + 0xec], bp
lea eax, [ebp + 1]
mov word [esp + 0xee], ax
lea ecx, [ebp + 2]
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xac], 0x3f800000
mov word [esp + 0xf0], cx
lea ecx, [esp + 0x3c]
mov edx, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
push edx
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
jmp 0x46fac7
mov eax, dword [edi + 0x14]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x3c]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x40]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x44]
mov eax, dword [edi + 0x18]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x68]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x6c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x70]
mov eax, dword [edi + 0x1c]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x94]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0x98]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x9c]
mov eax, dword [edi + 0x20]
shr eax, 0x10
lea ecx, [ebx + eax*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0xc0]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fchs
fstp dword [esp + 0xc4]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0xc8]
mov ecx, dword [edi + 0x14]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x4c]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x50]
mov ecx, dword [edi + 0x18]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x74]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0x78]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0x7c]
mov ecx, dword [edi + 0x1c]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xa0]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0xa4]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xa8]
mov ecx, dword [edi + 0x20]
and ecx, 0xffff
lea ecx, [eax + ecx*8]
movsx edx, word [ecx]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8210]
fstp dword [esp + 0xcc]
mov eax, dword [ecx]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x4a8214]
fstp dword [esp + 0xd0]
movsx ecx, word [ecx + 4]
mov dword [esp + 0x10], ecx
xor ecx, ecx
fild dword [esp + 0x10]
mov cx, word [eax + 0x10]
fmul dword [0x4a8210]
cmp ecx, dword [esp + 0x34]
je 0x46f7a8
fstp dword [esp + 0xd4]
fld dword [0x4a8220]
jmp 0x46f7b5
fstp dword [esp + 0xd4]
fld dword [0x4a8218]
fstp dword [esp + 0x1c]
fild dword [esp + 0x8ec]
fstp dword [esp + 0x18]
mov eax, dword [edi + 4]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x60]
mov al, byte [edi + 5]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x64]
mov eax, dword [edi + 8]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x8c]
mov al, byte [edi + 9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0x90]
mov eax, dword [edi + 0xc]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0xb8]
mov al, byte [edi + 0xd]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0xbc]
mov eax, dword [edi + 0x10]
and eax, 0xff
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fdiv dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0xe4]
mov al, byte [edi + 0x11]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fmul dword [0x4a8224]
fstp dword [esp + 0xe8]
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
fld dword [esp + 0x60]
fcomp dword [esp + 0x8c]
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb0], 0x3f800000
mov dword [esp + 0xac], 0x3f800000
mov dword [esp + 0xe0], 0x3f800000
mov dword [esp + 0xdc], 0x3f800000
mov dword [esp + 0xd8], 0x3f800000
mov ecx, dword [esp + 0x30]
shl cx, 2
mov word [esp + 0xec], cx
lea eax, [ecx + 1]
mov word [esp + 0xee], ax
lea edx, [ecx + 3]
fnstsw ax
add cx, 2
test ah, 0x40
mov word [esp + 0xf0], dx
mov word [esp + 0xf2], cx
jne 0x46f9c8
fld dword [esp + 0xb8]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x46f9c8
fld dword [esp + 0x60]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x40
je 0x46f9dc
fld dword [esp + 0x8c]
fadd dword [0x4a8228]
fstp dword [esp + 0x8c]
fld dword [esp + 0x64]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46fa15
fld dword [esp + 0xbc]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x40
jne 0x46fa15
fld dword [esp + 0x64]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x40
je 0x46fa29
fld dword [esp + 0x90]
fadd dword [0x4a8228]
fstp dword [esp + 0x90]
mov eax, dword [esi]
lea edx, [esp + 0x3c]
push edx
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x100]
mov dword [esp + 0x14], ecx
push eax
mov ecx, esi
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x68]
mov ecx, esi
push eax
mov eax, dword [esp + 0x100]
inc eax
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov eax, dword [esp + 0x100]
add eax, 2
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xc0]
mov ecx, esi
push eax
mov eax, dword [esp + 0x100]
add eax, 3
push eax
call dword [esp + 0x18]
test eax, eax
je 0x46fbd5
lea eax, [esp + 0xec]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
je 0x46fbd5
mov dword [esi + 0x1c], 1
mov dword [esi + 0x48], 1
add dword [esp + 0xfc], 4
movsx ebp, bp
add bp, 3
mov eax, dword [edi]
and eax, 0xff00
inc dword [esp + 0x30]
shr eax, 6
mov ecx, dword [esp + 0x30]
add eax, 4
add edi, eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], 3
cmp dword [eax], ecx
jg 0x46e2b1
mov ecx, esi
mov eax, dword [esi]
add esi, 0x4c
call dword [eax + 0x1c]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x100]
add dword [esp + 0x24], 0x14
cmp eax, dword [esp + 0x100]
jg 0x46e1d8
cmp dword [esp + 0x2c], 0
jle 0x46fba2
mov edi, dword [esp + 0x38]
lea esi, [esp + 0x118]
add edi, 0x40
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
mov edx, 0x100
xor eax, eax
mov ax, word [esi]
cmp eax, dword [esp + 0x34]
je 0x46fb99
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x34]
jge 0x46fb8e
shl eax, 6
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x46fb99
push str.MarniSystem_PSXObject::Store
push 0x4c7608
jmp 0x46fc08
push str.MarniSystem_PSXObject::Store
push 0x4ab1c0
jmp 0x46fc08
sub eax, 0x10
shl eax, 6
mov dword [edi], eax
mov dword [edi + 4], edx
add edi, 0x4c
add esi, 0x14
dec ebx
jne 0x46fb53
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x4c4], 1
mov dword [ecx + 0x4c0], eax
call fcn.0046dc20
test eax, eax
jne 0x46fbf7
push str.PSXObject::Store
push 0x4c75a0
call fcn.0043d370
add esp, 8
push str.MarniSystem_PSXObject::Store
push 0x4c7588
call fcn.0043d370
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [ecx + 0x4c4], 0
jmp 0x46fc10
mov eax, 1
jmp 0x46fc12
push str.MarniSystem_PSXObject::Store
push 0x4c7670
call fcn.0043d370
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x8c8
ret 0x14