418b5b:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
418b61:	57                   	push   %edi
418b62:	85 f6                	test   %esi,%esi
418b64:	0f 84 23 05 00 00    	je     0x41908d
418b6a:	85 c0                	test   %eax,%eax
418b6c:	0f 85 1b 05 00 00    	jne    0x41908d
418b72:	39 56 7c             	cmp    %edx,0x7c(%esi)
418b75:	75 13                	jne    0x418b8a
418b77:	39 96 84 00 00 00    	cmp    %edx,0x84(%esi)
418b7d:	75 0b                	jne    0x418b8a
418b7f:	8b 4e 20             	mov    0x20(%esi),%ecx
418b82:	85 c9                	test   %ecx,%ecx
418b84:	0f 84 57 01 00 00    	je     0x418ce1
418b8a:	68 80 00 00 00       	push   $0x80
418b8f:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
418b95:	c7 85 60 ff ff ff 94 	movl   $0x94,-0xa0(%ebp)
418b9c:	00 00 00
418b9f:	6a 00                	push   $0x0
418ba1:	50                   	push   %eax
418ba2:	c7 85 64 ff ff ff 04 	movl   $0x4,-0x9c(%ebp)
418ba9:	00 00 00
418bac:	e8 b0 4e 03 00       	call   0x44da61
418bb1:	33 c0                	xor    %eax,%eax
418bb3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
418bba:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
418bc0:	8d 95 08 ff ff ff    	lea    -0xf8(%ebp),%edx
418bc6:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
418bcc:	83 c4 0c             	add    $0xc,%esp
418bcf:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
418bd5:	8b ce                	mov    %esi,%ecx
418bd7:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
418bdd:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
418be3:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
418be9:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
418bef:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
418bf5:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
418bfb:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
418c01:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
418c07:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
418c0d:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
418c13:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
418c19:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
418c1f:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
418c25:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
418c2b:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
418c31:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
418c37:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
418c3d:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
418c43:	33 c0                	xor    %eax,%eax
418c45:	6a 04                	push   $0x4
418c47:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
418c4e:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
418c55:	c7 85 c8 fe ff ff 40 	movl   $0x40,-0x138(%ebp)
418c5c:	00 00 00
418c5f:	c7 85 cc fe ff ff 00 	movl   $0x0,-0x134(%ebp)
418c66:	00 00 00
418c69:	c7 85 d0 fe ff ff 00 	movl   $0x0,-0x130(%ebp)
418c70:	00 00 00
418c73:	c7 85 d4 fe ff ff 00 	movl   $0x0,-0x12c(%ebp)
418c7a:	00 00 00
418c7d:	c7 85 d8 fe ff ff 00 	movl   $0x0,-0x128(%ebp)
418c84:	00 00 00
418c87:	c7 85 dc fe ff ff 00 	movl   $0x0,-0x124(%ebp)
418c8e:	00 00 00
418c91:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
418c98:	00 00 00
418c9b:	c7 85 e4 fe ff ff 00 	movl   $0x0,-0x11c(%ebp)
418ca2:	00 00 00
418ca5:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
418cac:	00 00 00
418caf:	c7 85 28 ff ff ff 20 	movl   $0x20,-0xd8(%ebp)
418cb6:	00 00 00
418cb9:	c7 85 2c ff ff ff 01 	movl   $0x1,-0xd4(%ebp)
418cc0:	00 00 00
418cc3:	c7 85 08 ff ff ff 20 	movl   $0x20,-0xf8(%ebp)
418cca:	00 00 00
418ccd:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
418cd3:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
418cd9:	e8 42 f7 ff ff       	call   0x418420
418cde:	8b 4e 20             	mov    0x20(%esi),%ecx
418ce1:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
418ce5:	75 41                	jne    0x418d28
418ce7:	8b 46 78             	mov    0x78(%esi),%eax
418cea:	85 c0                	test   %eax,%eax
418cec:	79 1c                	jns    0x418d0a
418cee:	f7 d8                	neg    %eax
418cf0:	50                   	push   %eax
418cf1:	68 58 36 40 00       	push   $0x403658
418cf6:	ff 15 74 23 45 00    	call   *0x452374
418cfc:	8b 46 78             	mov    0x78(%esi),%eax
418cff:	83 c4 08             	add    $0x8,%esp
418d02:	29 86 94 00 00 00    	sub    %eax,0x94(%esi)
418d08:	eb 1e                	jmp    0x418d28
418d0a:	7e 1c                	jle    0x418d28
418d0c:	85 c9                	test   %ecx,%ecx
418d0e:	74 12                	je     0x418d22
418d10:	50                   	push   %eax
418d11:	68 f8 36 40 00       	push   $0x4036f8
418d16:	ff 15 74 23 45 00    	call   *0x452374
418d1c:	8b 46 78             	mov    0x78(%esi),%eax
418d1f:	83 c4 08             	add    $0x8,%esp
418d22:	01 86 90 00 00 00    	add    %eax,0x90(%esi)
418d28:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
418d2c:	74 1a                	je     0x418d48
418d2e:	dd 05 b8 42 41 00    	fldl   0x4142b8
418d34:	83 ec 08             	sub    $0x8,%esp
418d37:	dd 1c 24             	fstpl  (%esp)
418d3a:	68 40 37 40 00       	push   $0x403740
418d3f:	ff 15 74 23 45 00    	call   *0x452374
418d45:	83 c4 0c             	add    $0xc,%esp
418d48:	8b 56 04             	mov    0x4(%esi),%edx
418d4b:	33 ff                	xor    %edi,%edi
418d4d:	85 d2                	test   %edx,%edx
418d4f:	74 1a                	je     0x418d6b
418d51:	8b 4e 08             	mov    0x8(%esi),%ecx
418d54:	8b 01                	mov    (%ecx),%eax
418d56:	8d 49 04             	lea    0x4(%ecx),%ecx
418d59:	47                   	inc    %edi
418d5a:	8d 04 80             	lea    (%eax,%eax,4),%eax
418d5d:	8b 04 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%eax
418d64:	03 f8                	add    %eax,%edi
418d66:	83 ea 01             	sub    $0x1,%edx
418d69:	75 e9                	jne    0x418d54
418d6b:	33 c9                	xor    %ecx,%ecx
418d6d:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
418d73:	85 ff                	test   %edi,%edi
418d75:	74 48                	je     0x418dbf
418d77:	3b 4e 04             	cmp    0x4(%esi),%ecx
418d7a:	73 43                	jae    0x418dbf
418d7c:	8b 46 08             	mov    0x8(%esi),%eax
418d7f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
418d82:	8d 04 80             	lea    (%eax,%eax,4),%eax
418d85:	8b 1c 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%ebx
418d8c:	43                   	inc    %ebx
418d8d:	3b fb                	cmp    %ebx,%edi
418d8f:	73 02                	jae    0x418d93
418d91:	8b df                	mov    %edi,%ebx
418d93:	8b d3                	mov    %ebx,%edx
418d95:	b9 2d 00 00 00       	mov    $0x2d,%ecx
418d9a:	e8 41 d0 ff ff       	call   0x415de0
418d9f:	50                   	push   %eax
418da0:	68 6c 29 40 00       	push   $0x40296c
418da5:	ff 15 74 23 45 00    	call   *0x452374
418dab:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
418db1:	83 c4 08             	add    $0x8,%esp
418db4:	41                   	inc    %ecx
418db5:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
418dbb:	2b fb                	sub    %ebx,%edi
418dbd:	75 b8                	jne    0x418d77
418dbf:	68 68 29 40 00       	push   $0x402968
418dc4:	ff 15 74 23 45 00    	call   *0x452374
418dca:	83 c4 04             	add    $0x4,%esp
418dcd:	68 68 29 40 00       	push   $0x402968
418dd2:	ff 15 74 23 45 00    	call   *0x452374
418dd8:	83 c4 04             	add    $0x4,%esp
418ddb:	ff 76 40             	push   0x40(%esi)
418dde:	68 28 38 40 00       	push   $0x403828
418de3:	ff 15 74 23 45 00    	call   *0x452374
418de9:	83 c4 08             	add    $0x8,%esp
418dec:	f6 06 02             	testb  $0x2,(%esi)
418def:	74 15                	je     0x418e06
418df1:	8b 46 3c             	mov    0x3c(%esi),%eax
418df4:	03 46 38             	add    0x38(%esi),%eax
418df7:	50                   	push   %eax
418df8:	68 60 38 40 00       	push   $0x403860
418dfd:	ff 15 74 23 45 00    	call   *0x452374
418e03:	83 c4 08             	add    $0x8,%esp
418e06:	ff 76 48             	push   0x48(%esi)
418e09:	ff 76 44             	push   0x44(%esi)
418e0c:	68 88 38 40 00       	push   $0x403888
418e11:	ff 15 74 23 45 00    	call   *0x452374
418e17:	83 c4 0c             	add    $0xc,%esp
418e1a:	68 68 29 40 00       	push   $0x402968
418e1f:	ff 15 74 23 45 00    	call   *0x452374
418e25:	83 c4 04             	add    $0x4,%esp
418e28:	f6 06 02             	testb  $0x2,(%esi)
418e2b:	0f 84 56 02 00 00    	je     0x419087
418e31:	ff 76 4c             	push   0x4c(%esi)
418e34:	68 e4 38 40 00       	push   $0x4038e4
418e39:	ff 15 74 23 45 00    	call   *0x452374
418e3f:	8b 46 4c             	mov    0x4c(%esi),%eax
418e42:	83 c4 08             	add    $0x8,%esp
418e45:	8b 4e 50             	mov    0x50(%esi),%ecx
418e48:	db 46 4c             	fildl  0x4c(%esi)
418e4b:	85 c0                	test   %eax,%eax
418e4d:	79 06                	jns    0x418e55
418e4f:	dc 05 e8 42 41 00    	faddl  0x4142e8
418e55:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
418e5b:	dd 9d 48 ff ff ff    	fstpl  -0xb8(%ebp)
418e61:	dd 85 48 ff ff ff    	fldl   -0xb8(%ebp)
418e67:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
418e6d:	85 c9                	test   %ecx,%ecx
418e6f:	79 06                	jns    0x418e77
418e71:	dc 05 e8 42 41 00    	faddl  0x4142e8
418e77:	dd 9d 48 ff ff ff    	fstpl  -0xb8(%ebp)
418e7d:	dd 85 48 ff ff ff    	fldl   -0xb8(%ebp)
418e83:	f6 06 04             	testb  $0x4,(%esi)
418e86:	d8 f1                	fdiv   %st(1),%st
418e88:	dd 05 d0 42 41 00    	fldl   0x4142d0
418e8e:	dc c9                	fmul   %st,%st(1)
418e90:	d9 c9                	fxch   %st(1)
418e92:	dd 95 48 ff ff ff    	fstl   -0xb8(%ebp)
418e98:	75 49                	jne    0x418ee3
418e9a:	83 ec 08             	sub    $0x8,%esp
418e9d:	2b c1                	sub    %ecx,%eax
418e9f:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
418ea5:	dd 1c 24             	fstpl  (%esp)
418ea8:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
418eae:	51                   	push   %ecx
418eaf:	85 c0                	test   %eax,%eax
418eb1:	79 06                	jns    0x418eb9
418eb3:	dc 05 e8 42 41 00    	faddl  0x4142e8
418eb9:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418ebf:	dd 85 58 ff ff ff    	fldl   -0xa8(%ebp)
418ec5:	83 ec 08             	sub    $0x8,%esp
418ec8:	de f2                	fdivp  %st,%st(2)
418eca:	de c9                	fmulp  %st,%st(1)
418ecc:	dd 1c 24             	fstpl  (%esp)
418ecf:	50                   	push   %eax
418ed0:	68 08 39 40 00       	push   $0x403908
418ed5:	ff 15 74 23 45 00    	call   *0x452374
418edb:	83 c4 1c             	add    $0x1c,%esp
418ede:	e9 36 01 00 00       	jmp    0x419019
418ee3:	8b 46 70             	mov    0x70(%esi),%eax
418ee6:	dd d8                	fstp   %st(0)
418ee8:	db 46 70             	fildl  0x70(%esi)
418eeb:	85 c0                	test   %eax,%eax
418eed:	79 06                	jns    0x418ef5
418eef:	dc 05 e8 42 41 00    	faddl  0x4142e8
418ef5:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418efb:	dd 85 58 ff ff ff    	fldl   -0xa8(%ebp)
418f01:	83 ec 08             	sub    $0x8,%esp
418f04:	de f2                	fdivp  %st,%st(2)
418f06:	de c9                	fmulp  %st,%st(1)
418f08:	dd 1c 24             	fstpl  (%esp)
418f0b:	50                   	push   %eax
418f0c:	68 60 39 40 00       	push   $0x403960
418f11:	ff 15 74 23 45 00    	call   *0x452374
418f17:	8b 4e 6c             	mov    0x6c(%esi),%ecx
418f1a:	03 4e 68             	add    0x68(%esi),%ecx
418f1d:	03 4e 64             	add    0x64(%esi),%ecx
418f20:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
418f26:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
418f2c:	79 06                	jns    0x418f34
418f2e:	dc 05 e8 42 41 00    	faddl  0x4142e8
418f34:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418f3a:	dd 85 58 ff ff ff    	fldl   -0xa8(%ebp)
418f40:	8b 46 4c             	mov    0x4c(%esi),%eax
418f43:	db 46 4c             	fildl  0x4c(%esi)
418f46:	85 c0                	test   %eax,%eax
418f48:	79 06                	jns    0x418f50
418f4a:	dc 05 e8 42 41 00    	faddl  0x4142e8
418f50:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418f56:	dc b5 58 ff ff ff    	fdivl  -0xa8(%ebp)
418f5c:	83 c4 08             	add    $0x8,%esp
418f5f:	dc 0d d0 42 41 00    	fmull  0x4142d0
418f65:	dd 1c 24             	fstpl  (%esp)
418f68:	51                   	push   %ecx
418f69:	68 88 39 40 00       	push   $0x403988
418f6e:	ff 15 74 23 45 00    	call   *0x452374
418f74:	83 c4 10             	add    $0x10,%esp
418f77:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
418f7b:	74 5b                	je     0x418fd8
418f7d:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
418f81:	75 55                	jne    0x418fd8
418f83:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
418f89:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
418f8f:	db 85 5c ff ff ff    	fildl  -0xa4(%ebp)
418f95:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418f9b:	dd 85 58 ff ff ff    	fldl   -0xa8(%ebp)
418fa1:	8b 46 4c             	mov    0x4c(%esi),%eax
418fa4:	db 46 4c             	fildl  0x4c(%esi)
418fa7:	85 c0                	test   %eax,%eax
418fa9:	79 06                	jns    0x418fb1
418fab:	dc 05 e8 42 41 00    	faddl  0x4142e8
418fb1:	dd 9d 58 ff ff ff    	fstpl  -0xa8(%ebp)
418fb7:	dc b5 58 ff ff ff    	fdivl  -0xa8(%ebp)
418fbd:	83 ec 08             	sub    $0x8,%esp
418fc0:	dc 0d d0 42 41 00    	fmull  0x4142d0
418fc6:	dd 1c 24             	fstpl  (%esp)
418fc9:	51                   	push   %ecx
418fca:	68 b8 39 40 00       	push   $0x4039b8
418fcf:	ff 15 74 23 45 00    	call   *0x452374
418fd5:	83 c4 10             	add    $0x10,%esp
418fd8:	dd 85 48 ff ff ff    	fldl   -0xb8(%ebp)
418fde:	83 ec 08             	sub    $0x8,%esp
418fe1:	dd 1c 24             	fstpl  (%esp)
418fe4:	ff 76 50             	push   0x50(%esi)
418fe7:	68 e4 39 40 00       	push   $0x4039e4
418fec:	ff 15 74 23 45 00    	call   *0x452374
418ff2:	68 68 29 40 00       	push   $0x402968
418ff7:	ff 15 74 23 45 00    	call   *0x452374
418ffd:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
419003:	83 c4 14             	add    $0x14,%esp
419006:	85 c0                	test   %eax,%eax
419008:	74 0f                	je     0x419019
41900a:	50                   	push   %eax
41900b:	68 18 3a 40 00       	push   $0x403a18
419010:	ff 15 74 23 45 00    	call   *0x452374
419016:	83 c4 08             	add    $0x8,%esp
419019:	8b 46 5c             	mov    0x5c(%esi),%eax
41901c:	83 f8 ff             	cmp    $0xffffffff,%eax
41901f:	75 09                	jne    0x41902a
419021:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
419028:	33 c0                	xor    %eax,%eax
41902a:	ff 76 4c             	push   0x4c(%esi)
41902d:	ff 76 58             	push   0x58(%esi)
419030:	ff 76 54             	push   0x54(%esi)
419033:	ff 76 60             	push   0x60(%esi)
419036:	50                   	push   %eax
419037:	68 60 3a 40 00       	push   $0x403a60
41903c:	ff 15 74 23 45 00    	call   *0x452374
419042:	8b 46 2c             	mov    0x2c(%esi),%eax
419045:	83 c4 18             	add    $0x18,%esp
419048:	f7 66 4c             	mull   0x4c(%esi)
41904b:	85 d2                	test   %edx,%edx
41904d:	7c 2a                	jl     0x419079
41904f:	7f 07                	jg     0x419058
419051:	3d 00 00 40 06       	cmp    $0x6400000,%eax
419056:	76 21                	jbe    0x419079
419058:	dd 05 c0 42 41 00    	fldl   0x4142c0
41905e:	dc 9d 48 ff ff ff    	fcompl -0xb8(%ebp)
419064:	df e0                	fnstsw %ax
419066:	f6 c4 05             	test   $0x5,%ah
419069:	7a 0e                	jp     0x419079
41906b:	68 10 3b 40 00       	push   $0x403b10
419070:	ff 15 74 23 45 00    	call   *0x452374
419076:	83 c4 04             	add    $0x4,%esp
419079:	68 68 29 40 00       	push   $0x402968
41907e:	ff 15 74 23 45 00    	call   *0x452374
419084:	83 c4 04             	add    $0x4,%esp
419087:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
41908d:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
419091:	0f 84 9f 00 00 00    	je     0x419136
419097:	85 c0                	test   %eax,%eax
419099:	0f 85 97 00 00 00    	jne    0x419136
41909f:	39 86 94 00 00 00    	cmp    %eax,0x94(%esi)
4190a5:	74 43                	je     0x4190ea
4190a7:	e8 44 4c 02 00       	call   0x43dcf0
4190ac:	83 c0 10             	add    $0x10,%eax
4190af:	74 0a                	je     0x4190bb
4190b1:	e8 3a 4c 02 00       	call   0x43dcf0
4190b6:	83 c0 14             	add    $0x14,%eax
4190b9:	eb 02                	jmp    0x4190bd
4190bb:	33 c0                	xor    %eax,%eax
4190bd:	81 3d 30 1a 45 00 4a 	cmpl   $0xfffffb4a,0x451a30
4190c4:	fb ff ff
4190c7:	c7 00 84 29 40 00    	movl   $0x402984,(%eax)
4190cd:	c7 40 04 a9 0b 00 00 	movl   $0xba9,0x4(%eax)
4190d4:	c7 40 08 4a fb ff ff 	movl   $0xfffffb4a,0x8(%eax)