40bde5:	0f 84 55 fd ff ff    	je     0x40bb40
40bdeb:	8b 73 08             	mov    0x8(%ebx),%esi
40bdee:	8b 7e 10             	mov    0x10(%esi),%edi
40bdf1:	85 f6                	test   %esi,%esi
40bdf3:	74 10                	je     0x40be05
40bdf5:	8b ce                	mov    %esi,%ecx
40bdf7:	e8 24 dc ff ff       	call   0x409a20
40bdfc:	56                   	push   %esi
40bdfd:	e8 6a 52 01 00       	call   0x42106c
40be02:	83 c4 04             	add    $0x4,%esp
40be05:	89 7b 08             	mov    %edi,0x8(%ebx)
40be08:	c6 43 0d 00          	movb   $0x0,0xd(%ebx)
40be0c:	e9 2f fd ff ff       	jmp    0x40bb40
40be11:	8b 33                	mov    (%ebx),%esi
40be13:	e9 ea fc ff ff       	jmp    0x40bb02
40be18:	48                   	dec    %eax
40be19:	83 f8 0a             	cmp    $0xa,%eax
40be1c:	0f 87 ff fc ff ff    	ja     0x40bb21
40be22:	0f b6 80 dc c5 40 00 	movzbl 0x40c5dc(%eax),%eax
40be29:	ff 24 85 c8 c5 40 00 	jmp    *0x40c5c8(,%eax,4)
40be30:	8b 47 0c             	mov    0xc(%edi),%eax
40be33:	83 f8 01             	cmp    $0x1,%eax
40be36:	0f 84 7a 02 00 00    	je     0x40c0b6
40be3c:	83 f8 02             	cmp    $0x2,%eax
40be3f:	0f 84 66 55 03 00    	je     0x4413ab
40be45:	83 f9 03             	cmp    $0x3,%ecx
40be48:	74 1d                	je     0x40be67
40be4a:	8b ce                	mov    %esi,%ecx
40be4c:	e8 a7 de ff ff       	call   0x409cf8
40be51:	8b ce                	mov    %esi,%ecx
40be53:	dd 5d f8             	fstpl  -0x8(%ebp)
40be56:	e8 c5 db ff ff       	call   0x409a20
40be5b:	dd 45 f8             	fldl   -0x8(%ebp)
40be5e:	dd 1e                	fstpl  (%esi)
40be60:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40be67:	8b cf                	mov    %edi,%ecx
40be69:	e8 8a de ff ff       	call   0x409cf8
40be6e:	e9 aa fc ff ff       	jmp    0x40bb1d
40be73:	83 f9 01             	cmp    $0x1,%ecx
40be76:	0f 84 aa 06 00 00    	je     0x40c526
40be7c:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40be80:	0f 85 ad 02 00 00    	jne    0x40c133
40be86:	8b 7b 08             	mov    0x8(%ebx),%edi
40be89:	83 f9 02             	cmp    $0x2,%ecx
40be8c:	0f 84 7b 04 00 00    	je     0x40c30d
40be92:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40be96:	8b 43 08             	mov    0x8(%ebx),%eax
40be99:	0f 85 9f 02 00 00    	jne    0x40c13e
40be9f:	8b 70 10             	mov    0x10(%eax),%esi
40bea2:	8b 4e 0c             	mov    0xc(%esi),%ecx
40bea5:	8b c1                	mov    %ecx,%eax
40bea7:	83 f8 03             	cmp    $0x3,%eax
40beaa:	0f 85 d2 01 00 00    	jne    0x40c082
40beb0:	8b cf                	mov    %edi,%ecx
40beb2:	e8 41 de ff ff       	call   0x409cf8
40beb7:	dc 3e                	fdivrl (%esi)
40beb9:	dd 1e                	fstpl  (%esi)
40bebb:	8b 4e 08             	mov    0x8(%esi),%ecx
40bebe:	85 c9                	test   %ecx,%ecx
40bec0:	0f 84 66 fc ff ff    	je     0x40bb2c
40bec6:	e9 83 55 03 00       	jmp    0x44144e
40becb:	83 f8 01             	cmp    $0x1,%eax
40bece:	0f 85 54 04 00 00    	jne    0x40c328
40bed4:	8b 4f 0c             	mov    0xc(%edi),%ecx
40bed7:	3b c8                	cmp    %eax,%ecx
40bed9:	0f 84 1e 02 00 00    	je     0x40c0fd
40bedf:	83 f9 02             	cmp    $0x2,%ecx
40bee2:	0f 84 a9 52 03 00    	je     0x441191
40bee8:	83 f8 03             	cmp    $0x3,%eax
40beeb:	74 1d                	je     0x40bf0a
40beed:	8b ce                	mov    %esi,%ecx
40beef:	e8 04 de ff ff       	call   0x409cf8
40bef4:	8b ce                	mov    %esi,%ecx
40bef6:	dd 5d f8             	fstpl  -0x8(%ebp)
40bef9:	e8 22 db ff ff       	call   0x409a20
40befe:	dd 45 f8             	fldl   -0x8(%ebp)
40bf01:	dd 1e                	fstpl  (%esi)
40bf03:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40bf0a:	8b cf                	mov    %edi,%ecx
40bf0c:	e8 e7 dd ff ff       	call   0x409cf8
40bf11:	dc 06                	faddl  (%esi)
40bf13:	e9 0f fe ff ff       	jmp    0x40bd27
40bf18:	e8 7f dd ff ff       	call   0x409c9c
40bf1d:	8b cf                	mov    %edi,%ecx
40bf1f:	8b f0                	mov    %eax,%esi
40bf21:	e8 76 dd ff ff       	call   0x409c9c
40bf26:	3b f0                	cmp    %eax,%esi
40bf28:	0f 8d 8b fd ff ff    	jge    0x40bcb9
40bf2e:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
40bf32:	0f 85 34 59 03 00    	jne    0x44186c
40bf38:	8b 33                	mov    (%ebx),%esi
40bf3a:	8b ce                	mov    %esi,%ecx
40bf3c:	e8 df da ff ff       	call   0x409a20
40bf41:	c6 06 01             	movb   $0x1,(%esi)
40bf44:	e9 ab fc ff ff       	jmp    0x40bbf4
40bf49:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40bf4d:	8b 43 08             	mov    0x8(%ebx),%eax
40bf50:	0f 85 f0 01 00 00    	jne    0x40c146
40bf56:	8b 70 10             	mov    0x10(%eax),%esi
40bf59:	e9 54 fe ff ff       	jmp    0x40bdb2
40bf5e:	49                   	dec    %ecx
40bf5f:	83 f9 09             	cmp    $0x9,%ecx
40bf62:	0f 87 e9 05 00 00    	ja     0x40c551
40bf68:	ff 24 8d e8 c5 40 00 	jmp    *0x40c5e8(,%ecx,4)
40bf6f:	db 07                	fildl  (%edi)
40bf71:	dd 55 f8             	fstl   -0x8(%ebp)
40bf74:	e9 30 fc ff ff       	jmp    0x40bba9
40bf79:	83 f9 01             	cmp    $0x1,%ecx
40bf7c:	0f 84 ab 05 00 00    	je     0x40c52d
40bf82:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40bf86:	0f 85 3e 05 00 00    	jne    0x40c4ca
40bf8c:	8b 7b 08             	mov    0x8(%ebx),%edi
40bf8f:	83 f9 02             	cmp    $0x2,%ecx
40bf92:	0f 85 e2 54 03 00    	jne    0x44147a
40bf98:	8b 33                	mov    (%ebx),%esi
40bf9a:	8b 46 0c             	mov    0xc(%esi),%eax
40bf9d:	83 f8 04             	cmp    $0x4,%eax
40bfa0:	0f 85 2f 05 00 00    	jne    0x40c4d5
40bfa6:	8b cf                	mov    %edi,%ecx
40bfa8:	e8 ea d9 ff ff       	call   0x409997
40bfad:	8b 76 08             	mov    0x8(%esi),%esi
40bfb0:	8b ce                	mov    %esi,%ecx
40bfb2:	8b 47 08             	mov    0x8(%edi),%eax
40bfb5:	3b f0                	cmp    %eax,%esi
40bfb7:	0f 84 e8 54 03 00    	je     0x4414a5
40bfbd:	6a ff                	push   $0xffffffff
40bfbf:	6a 00                	push   $0x0
40bfc1:	50                   	push   %eax
40bfc2:	e8 ea bb ff ff       	call   0x407bb1
40bfc7:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
40bfcb:	0f 84 48 fc ff ff    	je     0x40bc19
40bfd1:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40bfd5:	0f 84 30 fc ff ff    	je     0x40bc0b
40bfdb:	8b 4b 08             	mov    0x8(%ebx),%ecx
40bfde:	8b 71 10             	mov    0x10(%ecx),%esi
40bfe1:	85 c9                	test   %ecx,%ecx
40bfe3:	74 06                	je     0x40bfeb
40bfe5:	51                   	push   %ecx
40bfe6:	e8 fb 3b 01 00       	call   0x41fbe6
40bfeb:	89 73 08             	mov    %esi,0x8(%ebx)
40bfee:	c6 43 0d 00          	movb   $0x0,0xd(%ebx)
40bff2:	e9 14 fc ff ff       	jmp    0x40bc0b
40bff7:	83 f8 01             	cmp    $0x1,%eax
40bffa:	0f 85 df 02 00 00    	jne    0x40c2df
40c000:	8b 4f 0c             	mov    0xc(%edi),%ecx
40c003:	3b c8                	cmp    %eax,%ecx
40c005:	0f 84 b8 03 00 00    	je     0x40c3c3
40c00b:	83 f9 02             	cmp    $0x2,%ecx
40c00e:	0f 84 58 53 03 00    	je     0x44136c
40c014:	83 f8 03             	cmp    $0x3,%eax
40c017:	0f 84 a4 fd ff ff    	je     0x40bdc1
40c01d:	8b ce                	mov    %esi,%ecx
40c01f:	e8 d4 dc ff ff       	call   0x409cf8
40c024:	8b ce                	mov    %esi,%ecx
40c026:	dd 5d f8             	fstpl  -0x8(%ebp)
40c029:	e8 f2 d9 ff ff       	call   0x409a20
40c02e:	dd 45 f8             	fldl   -0x8(%ebp)
40c031:	dd 1e                	fstpl  (%esi)
40c033:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40c03a:	e9 82 fd ff ff       	jmp    0x40bdc1
40c03f:	48                   	dec    %eax
40c040:	83 f8 09             	cmp    $0x9,%eax
40c043:	0f 87 d6 04 00 00    	ja     0x40c51f
40c049:	ff 24 85 10 c6 40 00 	jmp    *0x40c610(,%eax,4)
40c050:	db 07                	fildl  (%edi)
40c052:	e9 c6 fa ff ff       	jmp    0x40bb1d
40c057:	8b 7b 08             	mov    0x8(%ebx),%edi
40c05a:	e9 9b fc ff ff       	jmp    0x40bcfa
40c05f:	8b 7b 08             	mov    0x8(%ebx),%edi
40c062:	e9 3d fd ff ff       	jmp    0x40bda4
40c067:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
40c06b:	0f 85 df 55 03 00    	jne    0x441650
40c071:	8b 33                	mov    (%ebx),%esi
40c073:	8b ce                	mov    %esi,%ecx
40c075:	e8 a6 d9 ff ff       	call   0x409a20
40c07a:	c6 06 01             	movb   $0x1,(%esi)
40c07d:	e9 72 fb ff ff       	jmp    0x40bbf4
40c082:	83 f8 01             	cmp    $0x1,%eax
40c085:	0f 85 d5 53 03 00    	jne    0x441460
40c08b:	83 f9 03             	cmp    $0x3,%ecx
40c08e:	0f 84 1c fe ff ff    	je     0x40beb0
40c094:	8b ce                	mov    %esi,%ecx
40c096:	e8 5d dc ff ff       	call   0x409cf8
40c09b:	8b ce                	mov    %esi,%ecx
40c09d:	dd 5d f8             	fstpl  -0x8(%ebp)
40c0a0:	e8 7b d9 ff ff       	call   0x409a20
40c0a5:	dd 45 f8             	fldl   -0x8(%ebp)
40c0a8:	dd 1e                	fstpl  (%esi)
40c0aa:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40c0b1:	e9 fa fd ff ff       	jmp    0x40beb0
40c0b6:	8b 0f                	mov    (%edi),%ecx
40c0b8:	8b 06                	mov    (%esi),%eax
40c0ba:	8b f8                	mov    %eax,%edi
40c0bc:	f7 e9                	imul   %ecx
40c0be:	0f af f9             	imul   %ecx,%edi
40c0c1:	89 45 0c             	mov    %eax,0xc(%ebp)
40c0c4:	8b ca                	mov    %edx,%ecx
40c0c6:	8b c7                	mov    %edi,%eax
40c0c8:	99                   	cltd
40c0c9:	3b 45 0c             	cmp    0xc(%ebp),%eax
40c0cc:	0f 85 c5 52 03 00    	jne    0x441397
40c0d2:	3b d1                	cmp    %ecx,%edx
40c0d4:	0f 85 bd 52 03 00    	jne    0x441397
40c0da:	89 3e                	mov    %edi,(%esi)
40c0dc:	e9 40 fa ff ff       	jmp    0x40bb21
40c0e1:	48                   	dec    %eax
40c0e2:	83 f8 09             	cmp    $0x9,%eax
40c0e5:	0f 87 7f 04 00 00    	ja     0x40c56a
40c0eb:	ff 24 85 38 c6 40 00 	jmp    *0x40c638(,%eax,4)
40c0f2:	dd da                	fstp   %st(2)
40c0f4:	dd d8                	fstp   %st(0)
40c0f6:	db 07                	fildl  (%edi)
40c0f8:	e9 af fb ff ff       	jmp    0x40bcac
40c0fd:	8b 07                	mov    (%edi),%eax
40c0ff:	8b 0e                	mov    (%esi),%ecx
40c101:	8d 14 08             	lea    (%eax,%ecx,1),%edx
40c104:	89 55 08             	mov    %edx,0x8(%ebp)
40c107:	99                   	cltd
40c108:	89 45 0c             	mov    %eax,0xc(%ebp)
40c10b:	8b fa                	mov    %edx,%edi
40c10d:	8b c1                	mov    %ecx,%eax
40c10f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c112:	99                   	cltd
40c113:	01 45 0c             	add    %eax,0xc(%ebp)
40c116:	8b c1                	mov    %ecx,%eax
40c118:	13 fa                	adc    %edx,%edi
40c11a:	99                   	cltd
40c11b:	3b 45 0c             	cmp    0xc(%ebp),%eax
40c11e:	0f 85 59 50 03 00    	jne    0x44117d
40c124:	3b d7                	cmp    %edi,%edx
40c126:	0f 85 51 50 03 00    	jne    0x44117d
40c12c:	89 0e                	mov    %ecx,(%esi)
40c12e:	e9 f6 fb ff ff       	jmp    0x40bd29
40c133:	8b 43 08             	mov    0x8(%ebx),%eax
40c136:	8b 78 10             	mov    0x10(%eax),%edi
40c139:	e9 4b fd ff ff       	jmp    0x40be89
40c13e:	8b 40 10             	mov    0x10(%eax),%eax
40c141:	e9 59 fd ff ff       	jmp    0x40be9f
40c146:	8b 40 10             	mov    0x10(%eax),%eax
40c149:	e9 08 fe ff ff       	jmp    0x40bf56
40c14e:	8b 43 08             	mov    0x8(%ebx),%eax
40c151:	8b 78 10             	mov    0x10(%eax),%edi
40c154:	e9 90 f9 ff ff       	jmp    0x40bae9
40c159:	83 f9 01             	cmp    $0x1,%ecx
40c15c:	0f 84 d2 03 00 00    	je     0x40c534
40c162:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c166:	0f 85 58 53 03 00    	jne    0x4414c4
40c16c:	8b 53 08             	mov    0x8(%ebx),%edx
40c16f:	83 f9 02             	cmp    $0x2,%ecx
40c172:	0f 85 41 03 00 00    	jne    0x40c4b9
40c178:	8b 0b                	mov    (%ebx),%ecx
40c17a:	e8 59 ca ff ff       	call   0x408bd8
40c17f:	84 c0                	test   %al,%al
40c181:	0f 85 40 01 00 00    	jne    0x40c2c7
40c187:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
40c18b:	0f 85 3e 53 03 00    	jne    0x4414cf
40c191:	8b 33                	mov    (%ebx),%esi
40c193:	8b ce                	mov    %esi,%ecx
40c195:	e8 86 d8 ff ff       	call   0x409a20
40c19a:	c6 06 00             	movb   $0x0,(%esi)
40c19d:	8b cb                	mov    %ebx,%ecx
40c19f:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40c1a6:	e8 6c 39 01 00       	call   0x41fb17
40c1ab:	33 c0                	xor    %eax,%eax
40c1ad:	5f                   	pop    %edi
40c1ae:	5e                   	pop    %esi
40c1af:	5b                   	pop    %ebx
40c1b0:	8b e5                	mov    %ebp,%esp
40c1b2:	5d                   	pop    %ebp
40c1b3:	c2 08 00             	ret    $0x8
40c1b6:	8b 40 10             	mov    0x10(%eax),%eax
40c1b9:	e9 41 f9 ff ff       	jmp    0x40baff
40c1be:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c1c2:	8b 43 08             	mov    0x8(%ebx),%eax
40c1c5:	74 03                	je     0x40c1ca
40c1c7:	8b 40 10             	mov    0x10(%eax),%eax
40c1ca:	8b 70 10             	mov    0x10(%eax),%esi
40c1cd:	e9 36 fb ff ff       	jmp    0x40bd08
40c1d2:	8b 55 0c             	mov    0xc(%ebp),%edx
40c1d5:	83 7a 04 01          	cmpl   $0x1,0x4(%edx)
40c1d9:	0f 8c a1 03 00 00    	jl     0x40c580
40c1df:	83 f8 0a             	cmp    $0xa,%eax
40c1e2:	0f 84 8e 57 03 00    	je     0x441976
40c1e8:	83 f8 10             	cmp    $0x10,%eax
40c1eb:	0f 85 2b fa ff ff    	jne    0x40bc1c
40c1f1:	e9 4c 57 03 00       	jmp    0x441942
40c1f6:	83 f9 01             	cmp    $0x1,%ecx
40c1f9:	0f 84 7a 03 00 00    	je     0x40c579
40c1ff:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c203:	0f 85 ac 56 03 00    	jne    0x4418b5
40c209:	8b 73 08             	mov    0x8(%ebx),%esi
40c20c:	8b cb                	mov    %ebx,%ecx
40c20e:	e8 41 39 01 00       	call   0x41fb54
40c213:	8b d0                	mov    %eax,%edx
40c215:	8b ce                	mov    %esi,%ecx
40c217:	e8 b4 ca ff ff       	call   0x408cd0
40c21c:	8b cb                	mov    %ebx,%ecx
40c21e:	84 c0                	test   %al,%al
40c220:	0f 85 48 01 00 00    	jne    0x40c36e
40c226:	e8 29 39 01 00       	call   0x41fb54
40c22b:	8b f0                	mov    %eax,%esi
40c22d:	8b ce                	mov    %esi,%ecx
40c22f:	e8 ec d7 ff ff       	call   0x409a20
40c234:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40c23b:	c6 06 01             	movb   $0x1,(%esi)
40c23e:	8b cb                	mov    %ebx,%ecx
40c240:	e8 d2 38 01 00       	call   0x41fb17
40c245:	33 c0                	xor    %eax,%eax
40c247:	5f                   	pop    %edi
40c248:	5e                   	pop    %esi
40c249:	5b                   	pop    %ebx
40c24a:	8b e5                	mov    %ebp,%esp
40c24c:	5d                   	pop    %ebp
40c24d:	c2 08 00             	ret    $0x8
40c250:	8b cb                	mov    %ebx,%ecx
40c252:	e8 16 39 01 00       	call   0x41fb6d
40c257:	8b d0                	mov    %eax,%edx
40c259:	e8 f6 38 01 00       	call   0x41fb54
40c25e:	8b c8                	mov    %eax,%ecx
40c260:	e8 73 c9 ff ff       	call   0x408bd8
40c265:	8b cb                	mov    %ebx,%ecx
40c267:	84 c0                	test   %al,%al
40c269:	0f 84 00 02 00 00    	je     0x40c46f
40c26f:	e8 e0 38 01 00       	call   0x41fb54
40c274:	8b f0                	mov    %eax,%esi
40c276:	8b ce                	mov    %esi,%ecx
40c278:	e8 a3 d7 ff ff       	call   0x409a20
40c27d:	8b cb                	mov    %ebx,%ecx
40c27f:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40c286:	c6 06 00             	movb   $0x0,(%esi)
40c289:	e8 89 38 01 00       	call   0x41fb17
40c28e:	5f                   	pop    %edi
40c28f:	5e                   	pop    %esi
40c290:	33 c0                	xor    %eax,%eax
40c292:	5b                   	pop    %ebx
40c293:	8b e5                	mov    %ebp,%esp
40c295:	5d                   	pop    %ebp
40c296:	c2 08 00             	ret    $0x8
40c299:	48                   	dec    %eax
40c29a:	83 f8 08             	cmp    $0x8,%eax
40c29d:	0f 87 25 f9 ff ff    	ja     0x40bbc8
40c2a3:	ff 24 85 60 c6 40 00 	jmp    *0x40c660(,%eax,4)
40c2aa:	8b ce                	mov    %esi,%ecx
40c2ac:	e8 eb d9 ff ff       	call   0x409c9c
40c2b1:	8b cf                	mov    %edi,%ecx
40c2b3:	8b f0                	mov    %eax,%esi
40c2b5:	e8 e2 d9 ff ff       	call   0x409c9c
40c2ba:	3b c6                	cmp    %esi,%eax
40c2bc:	0f 8d 06 f9 ff ff    	jge    0x40bbc8
40c2c2:	e9 a0 fd ff ff       	jmp    0x40c067