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

Disassembly:
sub esp, 0x1bc
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
push ebx
push ebp
lea edx, [eax + eax*4]
push esi
push edi
xor esi, esi
lea edi, [ecx + edx*8 - 0x28]
xor edx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x54], esi
mov dl, byte [edi + 0x13]
mov dword [esp + 0x3c], edx
mov dl, byte [edi + 0x12]
fild dword [esp + 0x3c]
and edx, 0xff
mov dword [esp + 0x3c], edx
xor edx, edx
fild dword [esp + 0x3c]
mov dl, byte [edi + 0x11]
mov dword [esp + 0x3c], edx
mov edx, dword [edi + 0x10]
fstp dword [esp + 0x38]
fild dword [esp + 0x3c]
and edx, 0xff
mov dword [esp + 0x1c], edx
xor edx, edx
fstp dword [esp + 0x28]
fild qword [esp + 0x1c]
mov dl, byte [edi + 0x17]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edx
mov dl, byte [edi + 0x16]
fstp dword [esp + 0x2c]
fild dword [esp + 0x3c]
and edx, 0xff
mov dword [esp + 0x3c], edx
xor edx, edx
fstp dword [esp + 0x34]
fild dword [esp + 0x3c]
mov dl, byte [edi + 0x15]
mov dword [esp + 0x3c], edx
mov edx, dword [edi + 0x14]
fstp dword [esp + 0x24]
fild dword [esp + 0x3c]
and edx, 0xff
cmp eax, esi
mov dword [esp + 0x1c], edx
fstp dword [esp + 0x30]
fild qword [esp + 0x1c]
fstp dword [esp + 0x14]
jle 0x46e2ad
lea edx, [esp + 0xa0]
lea esi, [esp + 0x94]
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x9c]
mov dword [esp + 0x48], edx
lea edx, [esp + 0xa8]
mov dword [esp + 0x44], edx
lea edx, [esp + 0xa4]
mov dword [esp + 0x40], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], esi
lea ebp, [esp + 0x90]
lea ebx, [esp + 0x8c]
add ecx, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x88], 0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x5c]
mov dword [esp + 0x70], eax
xor eax, eax
mov al, byte [ecx + 0xf]
mov dword [esp + 0x80], 0
mov dword [esp + 0x14], eax
mov al, byte [ecx + 0xe]
fild dword [esp + 0x14]
and eax, 0xff
mov esi, edi
mov dword [esp + 0x14], eax
xor eax, eax
fild dword [esp + 0x14]
mov al, byte [ecx + 0xd]
lea edi, [ecx - 4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
fstp dword [esp + 0x38]
fild dword [esp + 0x14]
and eax, 0xff
mov dword [esp + 0x84], eax
xor eax, eax
fstp dword [esp + 0x28]
fild qword [esp + 0x84]
mov al, byte [ecx + 0x13]
mov dword [esp + 0x14], eax
mov al, byte [ecx + 0x12]
fstp dword [esp + 0x2c]
fild dword [esp + 0x14]
and eax, 0xff
mov dword [esp + 0x14], eax
xor eax, eax
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
mov al, byte [ecx + 0x11]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x10]
fstp dword [esp + 0x24]
fild dword [esp + 0x14]
and eax, 0xff
mov dword [esp + 0x7c], eax
fstp dword [esp + 0x30]
fild qword [esp + 0x7c]
fstp dword [esp + 0x14]
fld dword [esi]
fcomp dword [0x753c20]
fnstsw ax
test ah, 5
jp 0x46d2de
fld dword [edi]
fcomp dword [0x753c20]
fnstsw ax
test ah, 5
jnp 0x46d995
fld dword [0x753c20]
fsub dword [edi]
fld dword [esi]
fsub dword [edi]
mov eax, dword [esp + 0x44]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
mov edx, dword [esp + 0x40]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [eax]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
or eax, edx
mov edx, dword [esp + 0x1c]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x48]
mov dword [edx], eax
fmul st(1)
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov eax, dword [0x753c20]
jmp 0x46d49e
fld dword [esi]
fcomp dword [0x753bac]
fnstsw ax
and eax, 0x4100
jne 0x46d4ff
fld dword [edi]
fcomp dword [0x753bac]
fnstsw ax
and eax, 0x4100
je 0x46d995
fld dword [0x753bac]
fsub dword [edi]
fld dword [esi]
fsub dword [edi]
mov eax, dword [esp + 0x44]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
mov edx, dword [esp + 0x40]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [eax]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x48]
mov dword [edx], eax
fmul st(1)
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov eax, dword [0x753bac]
fld dword [esi + 4]
fsub dword [ecx]
mov dword [ebx], eax
mov eax, dword [esp + 0x54]
inc eax
mov edx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x40]
add eax, 0x28
add edx, 0x28
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
fmul st(1)
add eax, 0x28
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
add edx, 0x28
fadd dword [ecx]
add eax, 0x28
add ebp, 0x28
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
add ebx, 0x28
add eax, 0x28
fstp dword [ebp - 0x28]
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], eax
fstp st(0)
fld dword [edi]
fcomp dword [0x753c20]
fnstsw ax
test ah, 5
jp 0x46d707
fld dword [0x753c20]
fsub dword [edi]
fld dword [esi]
fsub dword [edi]
mov eax, dword [esp + 0x44]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
mov edx, dword [esp + 0x40]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [eax]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x48]
mov dword [edx], eax
fmul st(1)
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esi + 4]
mov esi, dword [esp + 0x54]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x4c]
fsub dword [ecx]
mov dword [edx], eax
mov eax, dword [0x753c20]
inc esi
mov dword [ebx], eax
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x40]
mov eax, 0x28
mov edx, dword [esp + 0x50]
add esi, eax
add edx, eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x44]
fmul st(1)
add esi, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], esi
fadd dword [ecx]
mov esi, dword [esp + 0x48]
add ebx, eax
add esi, eax
add edx, eax
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x4c]
fstp dword [ebp]
add ebp, eax
add esi, eax
fstp st(0)
mov dword [esp + 0x4c], esi
jmp 0x46d991
fld dword [edi]
fcomp dword [0x753bac]
fnstsw ax
and eax, 0x4100
jne 0x46d911
fld dword [0x753bac]
fsub dword [edi]
fld dword [esi]
fsub dword [edi]
mov eax, dword [esp + 0x44]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
mov edx, dword [esp + 0x40]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [eax]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x48]
mov dword [edx], eax
fmul st(1)
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], edx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov edx, dword [esp + 0x10]
and edx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, edx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fld dword [esi + 4]
mov esi, dword [esp + 0x54]
and edx, 0x3fffff
or eax, edx
mov edx, dword [esp + 0x4c]
fsub dword [ecx]
mov dword [edx], eax
mov eax, dword [0x753bac]
inc esi
mov dword [ebx], eax
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x40]
mov eax, 0x28
mov edx, dword [esp + 0x50]
add esi, eax
add edx, eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x44]
fmul st(1)
add esi, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], esi
fadd dword [ecx]
mov esi, dword [esp + 0x48]
add ebx, eax
add esi, eax
add edx, eax
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x4c]
fstp dword [ebp]
add ebp, eax
add esi, eax
fstp st(0)
mov dword [esp + 0x4c], esi
jmp 0x46d991
mov eax, dword [edi]
mov esi, dword [esp + 0x50]
mov dword [ebx], eax
mov eax, dword [ecx]
mov dword [ebp], eax
mov eax, dword [ecx + 4]
mov dword [esi], eax
mov eax, dword [ecx + 8]
mov esi, dword [esp + 0x40]
mov dword [edx], eax
mov eax, dword [ecx + 0x14]
add ebx, 0x28
mov dword [esi], eax
mov esi, dword [esp + 0x44]
mov eax, dword [ecx + 0x18]
add ebp, 0x28
mov dword [esi], eax
mov esi, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
add edx, 0x28
mov dword [esi], eax
mov eax, dword [esp + 0x4c]
mov esi, dword [ecx + 0x10]
mov dword [eax], esi
mov esi, dword [esp + 0x54]
inc esi
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x50]
add esi, 0x28
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x40]
add esi, 0x28
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x44]
add esi, 0x28
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x48]
add esi, 0x28
add eax, 0x28
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x3c]
add ecx, 0x28
dec eax
mov dword [esp + 0x3c], eax
jne 0x46d030
mov eax, dword [esp + 0x54]
cmp eax, 3
fstp st(0)
jl 0x46e2af
lea ecx, [eax + eax*4]
xor edx, edx
xor ebp, ebp
mov dl, byte [esp + ecx*8 + 0x77]
lea edi, [esp + ecx*8 + 0x64]
mov dword [esp + 0x1c], edx
xor edx, edx
mov cl, byte [edi + 0x12]
mov dl, byte [edi + 0x11]
fild dword [esp + 0x1c]
and ecx, 0xff
mov dword [esp + 0x80], ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0x10]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
and ecx, 0xff
mov dword [esp + 0x7c], ecx
mov cl, byte [edi + 0x16]
fstp dword [esp + 0x38]
fild dword [esp + 0x1c]
xor edx, edx
and ecx, 0xff
mov dl, byte [edi + 0x17]
fstp dword [esp + 0x28]
fild qword [esp + 0x7c]
mov dword [esp + 0x1c], edx
xor edx, edx
mov dl, byte [edi + 0x15]
mov dword [esp + 0x80], ebp
fstp dword [esp + 0x2c]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0x14]
and ecx, 0xff
cmp eax, ebp
fstp dword [esp + 0x34]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x7c], ecx
fstp dword [esp + 0x24]
fild dword [esp + 0x1c]
fstp dword [esp + 0x30]
fild qword [esp + 0x7c]
fstp dword [esp + 0x14]
jle 0x46e2ad
mov edx, dword [esp + 0x1d4]
lea ecx, [esp + 0x90]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x5c]
mov dword [esp + 0x70], eax
xor eax, eax
mov al, byte [ecx + 0xf]
mov bl, byte [ecx + 0x13]
mov dword [esp + 0x1c], eax
mov al, byte [ecx + 0xe]
fild dword [esp + 0x1c]
and eax, 0xff
mov esi, edi
mov dword [esp + 0x1c], eax
xor eax, eax
fild dword [esp + 0x1c]
mov al, byte [ecx + 0xd]
lea edi, [ecx - 4]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0xc]
fstp dword [esp + 0x38]
fild dword [esp + 0x1c]
and eax, 0xff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x7c], eax
xor eax, eax
fstp dword [esp + 0x28]
mov dword [esp + 0x80], eax
mov bl, byte [ecx + 0x12]
fild qword [esp + 0x7c]
and ebx, 0xff
mov dword [esp + 0x88], eax
fstp dword [esp + 0x2c]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov bl, byte [ecx + 0x11]
fstp dword [esp + 0x34]
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ecx + 0x10]
and ebx, 0xff
fstp dword [esp + 0x24]
fild dword [esp + 0x1c]
mov dword [esp + 0x84], ebx
fstp dword [esp + 0x30]
fild qword [esp + 0x84]
fstp dword [esp + 0x14]
fld dword [esi + 4]
fcomp dword [0x753c64]
fnstsw ax
test ah, 5
jp 0x46dd27
fld dword [ecx]
fcomp dword [0x753c64]
fnstsw ax
test ah, 5
jnp 0x46e287
fld dword [0x753c64]
fsub dword [ecx]
fld dword [esi + 4]
fsub dword [ecx]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx + 0xc]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx + 0x18]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [edx + 0x1c]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x10], eax
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esi]
fsub dword [edi]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x14], eax
fadd dword [edi]
fstp dword [edx]
mov eax, dword [0x753c64]
jmp 0x46dee8
fld dword [esi + 4]
fcomp dword [0x754034]
fnstsw ax
and eax, 0x4100
jne 0x46def1
fld dword [ecx]
fcomp dword [0x754034]
fnstsw ax
and eax, 0x4100
je 0x46e287
fld dword [0x754034]
fsub dword [ecx]
fld dword [esi + 4]
fsub dword [ecx]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx + 0xc]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx + 0x18]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [edx + 0x1c]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x10], eax
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esi]
fsub dword [edi]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x14], eax
fadd dword [edi]
fstp dword [edx]
mov eax, dword [0x754034]
mov dword [edx + 4], eax
inc ebp
fstp st(0)
add edx, 0x28
fld dword [ecx]
fcomp dword [0x753c64]
fnstsw ax
test ah, 5
jp 0x46e0a4
fld dword [0x753c64]
fsub dword [ecx]
fld dword [esi + 4]
fsub dword [ecx]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx + 0xc]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx + 0x18]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [edx + 0x1c]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x10], eax
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esi]
fsub dword [edi]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x14], eax
fadd dword [edi]
fstp dword [edx]
mov eax, dword [0x753c64]
fstp st(0)
mov dword [edx + 4], eax
jmp 0x46e283
fld dword [ecx]
fcomp dword [0x754034]
fnstsw ax
and eax, 0x4100
jne 0x46e256
fld dword [0x754034]
fsub dword [ecx]
fld dword [esi + 4]
fsub dword [ecx]
fdivp st(1)
fld dword [esi + 0xc]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [edx + 0xc]
fld dword [esi + 0x18]
fsub dword [ecx + 0x14]
fmul st(1)
fadd dword [ecx + 0x14]
fstp dword [edx + 0x18]
fld dword [esi + 0x1c]
fsub dword [ecx + 0x18]
fmul st(1)
fadd dword [ecx + 0x18]
fstp dword [edx + 0x1c]
fld dword [esp + 0x5c]
fsub st(2)
fmul st(1)
fadd st(2)
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x64]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x38]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x28]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fsub dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x2c]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x74]
fsub dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x10], eax
fadd dword [esp + 0x34]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x24]
mov eax, dword [esp + 0x10]
and eax, 0x3fffff
fmul st(1)
shl eax, 8
fadd dword [esp + 0x24]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x78]
fsub dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x1c], ebx
fadd dword [esp + 0x30]
fadd dword [0x4a72e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x70]
fsub dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
or eax, ebx
mov ebx, dword [esp + 0x18]
fadd dword [esp + 0x14]
shl eax, 8
or eax, ebx
fadd dword [0x4a72e4]
shl eax, 8
fstp dword [esp + 0x10]
fld dword [esi]
fsub dword [edi]
mov ebx, dword [esp + 0x10]
and ebx, 0x3fffff
fmul st(1)
or eax, ebx
mov dword [edx + 0x14], eax
fadd dword [edi]
fstp dword [edx]
mov eax, dword [0x754034]
fstp st(0)
mov dword [edx + 4], eax
jmp 0x46e283
mov eax, dword [edi]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [edx + 4], eax
mov eax, dword [ecx + 4]
mov dword [edx + 8], eax
mov eax, dword [ecx + 8]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x18], eax
mov eax, dword [ecx + 0x18]
mov dword [edx + 0x1c], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x10]
mov dword [edx + 0x14], eax
inc ebp
add edx, 0x28
mov eax, dword [esp + 0x3c]
add ecx, 0x28
dec eax
mov dword [esp + 0x3c], eax
jne 0x46da7c
cmp ebp, 3
fstp st(0)
jl 0x46e2af
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x1bc
ret
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1bc
ret