40c87e:	75 0f                	jne    0x40c88f
40c880:	39 81 98 00 00 00    	cmp    %eax,0x98(%ecx)
40c886:	0f 94 c0             	sete   %al
40c889:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
40c88f:	8b 42 10             	mov    0x10(%edx),%eax
40c892:	8b 91 28 01 00 00    	mov    0x128(%ecx),%edx
40c898:	89 81 94 00 00 00    	mov    %eax,0x94(%ecx)
40c89e:	85 c0                	test   %eax,%eax
40c8a0:	74 07                	je     0x40c8a9
40c8a2:	68 70 c3 40 00       	push   $0x40c370
40c8a7:	eb 05                	jmp    0x40c8ae
40c8a9:	68 f0 c3 40 00       	push   $0x40c3f0
40c8ae:	51                   	push   %ecx
40c8af:	68 30 10 00 00       	push   $0x1030
40c8b4:	52                   	push   %edx
40c8b5:	ff 15 40 34 42 00    	call   *0x423440
40c8bb:	8b 45 0c             	mov    0xc(%ebp),%eax
40c8be:	83 20 00             	andl   $0x0,(%eax)
40c8c1:	5d                   	pop    %ebp
40c8c2:	c2 08 00             	ret    $0x8
40c8c5:	cc                   	int3
40c8c6:	cc                   	int3
40c8c7:	cc                   	int3
40c8c8:	cc                   	int3
40c8c9:	cc                   	int3
40c8ca:	cc                   	int3
40c8cb:	cc                   	int3
40c8cc:	cc                   	int3
40c8cd:	cc                   	int3
40c8ce:	cc                   	int3
40c8cf:	cc                   	int3
40c8d0:	8b ff                	mov    %edi,%edi
40c8d2:	55                   	push   %ebp
40c8d3:	8b ec                	mov    %esp,%ebp
40c8d5:	56                   	push   %esi
40c8d6:	8b f1                	mov    %ecx,%esi
40c8d8:	e8 14 00 00 00       	call   0x40c8f1
40c8dd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40c8e1:	74 07                	je     0x40c8ea
40c8e3:	56                   	push   %esi
40c8e4:	e8 ba e9 00 00       	call   0x41b2a3
40c8e9:	59                   	pop    %ecx
40c8ea:	8b c6                	mov    %esi,%eax
40c8ec:	5e                   	pop    %esi
40c8ed:	5d                   	pop    %ebp
40c8ee:	c2 04 00             	ret    $0x4
40c8f1:	8b ff                	mov    %edi,%edi
40c8f3:	55                   	push   %ebp
40c8f4:	8b ec                	mov    %esp,%ebp
40c8f6:	6a ff                	push   $0xffffffff
40c8f8:	68 b3 cf 41 00       	push   $0x41cfb3
40c8fd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c903:	50                   	push   %eax
40c904:	51                   	push   %ecx
40c905:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40c90a:	33 c5                	xor    %ebp,%eax
40c90c:	50                   	push   %eax
40c90d:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c910:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c916:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c919:	c7 01 e4 1a 40 00    	movl   $0x401ae4,(%ecx)
40c91f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c923:	ff 15 28 32 42 00    	call   *0x423228
40c929:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c92c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c933:	59                   	pop    %ecx
40c934:	c9                   	leave
40c935:	c3                   	ret
40c936:	cc                   	int3
40c937:	cc                   	int3
40c938:	cc                   	int3
40c939:	cc                   	int3
40c93a:	cc                   	int3
40c93b:	cc                   	int3
40c93c:	cc                   	int3
40c93d:	cc                   	int3
40c93e:	cc                   	int3
40c93f:	cc                   	int3
40c940:	a1 0c 31 42 00       	mov    0x42310c,%eax
40c945:	c3                   	ret
40c946:	cc                   	int3
40c947:	cc                   	int3
40c948:	cc                   	int3
40c949:	cc                   	int3
40c94a:	cc                   	int3
40c94b:	cc                   	int3
40c94c:	cc                   	int3
40c94d:	cc                   	int3
40c94e:	cc                   	int3
40c94f:	cc                   	int3
40c950:	b8 d8 1a 40 00       	mov    $0x401ad8,%eax
40c955:	c3                   	ret
40c956:	cc                   	int3
40c957:	cc                   	int3
40c958:	cc                   	int3
40c959:	cc                   	int3
40c95a:	cc                   	int3
40c95b:	cc                   	int3
40c95c:	cc                   	int3
40c95d:	cc                   	int3
40c95e:	cc                   	int3
40c95f:	cc                   	int3
40c960:	8b ff                	mov    %edi,%edi
40c962:	55                   	push   %ebp
40c963:	8b ec                	mov    %esp,%ebp
40c965:	56                   	push   %esi
40c966:	8b f1                	mov    %ecx,%esi
40c968:	ff 15 28 32 42 00    	call   *0x423228
40c96e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40c972:	74 07                	je     0x40c97b
40c974:	56                   	push   %esi
40c975:	e8 29 e9 00 00       	call   0x41b2a3
40c97a:	59                   	pop    %ecx
40c97b:	8b c6                	mov    %esi,%eax
40c97d:	5e                   	pop    %esi
40c97e:	5d                   	pop    %ebp
40c97f:	c2 04 00             	ret    $0x4
40c982:	cc                   	int3
40c983:	cc                   	int3
40c984:	cc                   	int3
40c985:	cc                   	int3
40c986:	cc                   	int3
40c987:	cc                   	int3
40c988:	cc                   	int3
40c989:	cc                   	int3
40c98a:	cc                   	int3
40c98b:	cc                   	int3
40c98c:	cc                   	int3
40c98d:	cc                   	int3
40c98e:	cc                   	int3
40c98f:	cc                   	int3
40c990:	b8 5c 02 00 00       	mov    $0x25c,%eax
40c995:	c3                   	ret
40c996:	cc                   	int3
40c997:	cc                   	int3
40c998:	cc                   	int3
40c999:	cc                   	int3
40c99a:	cc                   	int3
40c99b:	cc                   	int3
40c99c:	cc                   	int3
40c99d:	cc                   	int3
40c99e:	cc                   	int3
40c99f:	cc                   	int3
40c9a0:	6a 04                	push   $0x4
40c9a2:	b8 ae c6 41 00       	mov    $0x41c6ae,%eax
40c9a7:	e8 8c fa 00 00       	call   0x41c438
40c9ac:	68 28 01 00 00       	push   $0x128
40c9b1:	e8 f2 e8 00 00       	call   0x41b2a8
40c9b6:	59                   	pop    %ecx
40c9b7:	8b c8                	mov    %eax,%ecx
40c9b9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c9bc:	33 c0                	xor    %eax,%eax
40c9be:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c9c1:	85 c9                	test   %ecx,%ecx
40c9c3:	74 05                	je     0x40c9ca
40c9c5:	e8 1c 00 00 00       	call   0x40c9e6
40c9ca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c9ce:	e8 33 fa 00 00       	call   0x41c406
40c9d3:	c3                   	ret
40c9d4:	cc                   	int3
40c9d5:	cc                   	int3
40c9d6:	cc                   	int3
40c9d7:	cc                   	int3
40c9d8:	cc                   	int3
40c9d9:	cc                   	int3
40c9da:	cc                   	int3
40c9db:	cc                   	int3
40c9dc:	cc                   	int3
40c9dd:	cc                   	int3
40c9de:	cc                   	int3
40c9df:	cc                   	int3
40c9e0:	b8 00 1e 40 00       	mov    $0x401e00,%eax
40c9e5:	c3                   	ret
40c9e6:	6a 04                	push   $0x4
40c9e8:	b8 f4 cf 41 00       	mov    $0x41cff4,%eax
40c9ed:	e8 46 fa 00 00       	call   0x41c438
40c9f2:	8b f1                	mov    %ecx,%esi
40c9f4:	89 75 f0             	mov    %esi,-0x10(%ebp)
40c9f7:	68 5c 02 00 00       	push   $0x25c
40c9fc:	e8 85 15 00 00       	call   0x40df86
40ca01:	33 ff                	xor    %edi,%edi
40ca03:	89 7d fc             	mov    %edi,-0x4(%ebp)
40ca06:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40ca0c:	c7 06 04 1d 40 00    	movl   $0x401d04,(%esi)
40ca12:	e8 95 ab ff ff       	call   0x4075ac
40ca17:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40ca1b:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40ca21:	e8 bc aa ff ff       	call   0x4074e2
40ca26:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40ca2a:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
40ca30:	c7 86 94 00 00 00 01 	movl   $0x1,0x94(%esi)
40ca37:	00 00 00
40ca3a:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
40ca40:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
40ca46:	89 be a0 00 00 00    	mov    %edi,0xa0(%esi)
40ca4c:	89 be a4 00 00 00    	mov    %edi,0xa4(%esi)
40ca52:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ca56:	8b c6                	mov    %esi,%eax
40ca58:	e8 a9 f9 00 00       	call   0x41c406
40ca5d:	c3                   	ret
40ca5e:	cc                   	int3
40ca5f:	cc                   	int3
40ca60:	8b ff                	mov    %edi,%edi
40ca62:	55                   	push   %ebp
40ca63:	8b ec                	mov    %esp,%ebp
40ca65:	56                   	push   %esi
40ca66:	8b f1                	mov    %ecx,%esi
40ca68:	e8 14 00 00 00       	call   0x40ca81
40ca6d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40ca71:	74 07                	je     0x40ca7a
40ca73:	56                   	push   %esi
40ca74:	e8 2a e8 00 00       	call   0x41b2a3
40ca79:	59                   	pop    %ecx
40ca7a:	8b c6                	mov    %esi,%eax
40ca7c:	5e                   	pop    %esi
40ca7d:	5d                   	pop    %ebp
40ca7e:	c2 04 00             	ret    $0x4
40ca81:	8b ff                	mov    %edi,%edi
40ca83:	55                   	push   %ebp
40ca84:	8b ec                	mov    %esp,%ebp
40ca86:	6a ff                	push   $0xffffffff
40ca88:	68 35 d0 41 00       	push   $0x41d035
40ca8d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ca93:	50                   	push   %eax
40ca94:	51                   	push   %ecx
40ca95:	56                   	push   %esi
40ca96:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40ca9b:	33 c5                	xor    %ebp,%eax
40ca9d:	50                   	push   %eax
40ca9e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40caa1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40caa7:	8b f1                	mov    %ecx,%esi
40caa9:	89 75 f0             	mov    %esi,-0x10(%ebp)
40caac:	c7 06 04 1d 40 00    	movl   $0x401d04,(%esi)
40cab2:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40cab9:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40cabf:	ff 15 6c 33 42 00    	call   *0x42336c
40cac5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40cac9:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40cacf:	ff 15 48 33 42 00    	call   *0x423348
40cad5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cad9:	8b ce                	mov    %esi,%ecx
40cadb:	e8 01 15 00 00       	call   0x40dfe1
40cae0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cae3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40caea:	59                   	pop    %ecx
40caeb:	5e                   	pop    %esi
40caec:	c9                   	leave
40caed:	c3                   	ret
40caee:	cc                   	int3
40caef:	cc                   	int3
40caf0:	8b ff                	mov    %edi,%edi
40caf2:	55                   	push   %ebp
40caf3:	8b ec                	mov    %esp,%ebp
40caf5:	56                   	push   %esi
40caf6:	8b f1                	mov    %ecx,%esi
40caf8:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
40cafe:	50                   	push   %eax
40caff:	68 03 04 00 00       	push   $0x403
40cb04:	ff 75 08             	push   0x8(%ebp)
40cb07:	ff 15 70 33 42 00    	call   *0x423370
40cb0d:	8d 86 e8 00 00 00    	lea    0xe8(%esi),%eax
40cb13:	50                   	push   %eax
40cb14:	68 fc 03 00 00       	push   $0x3fc
40cb19:	ff 75 08             	push   0x8(%ebp)
40cb1c:	ff 15 70 33 42 00    	call   *0x423370
40cb22:	5e                   	pop    %esi
40cb23:	5d                   	pop    %ebp
40cb24:	c2 04 00             	ret    $0x4
40cb27:	cc                   	int3
40cb28:	cc                   	int3
40cb29:	cc                   	int3
40cb2a:	cc                   	int3
40cb2b:	cc                   	int3
40cb2c:	cc                   	int3
40cb2d:	cc                   	int3
40cb2e:	cc                   	int3
40cb2f:	cc                   	int3
40cb30:	b8 f8 1c 40 00       	mov    $0x401cf8,%eax
40cb35:	c3                   	ret
40cb36:	6a 4c                	push   $0x4c
40cb38:	b8 f5 cc 41 00       	mov    $0x41ccf5,%eax
40cb3d:	e8 29 f9 00 00       	call   0x41c46b
40cb42:	8b f9                	mov    %ecx,%edi
40cb44:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cb47:	ff 15 40 32 42 00    	call   *0x423240
40cb4d:	33 f6                	xor    %esi,%esi
40cb4f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40cb52:	8d 45 e0             	lea    -0x20(%ebp),%eax
40cb55:	50                   	push   %eax
40cb56:	ff b7 08 01 00 00    	push   0x108(%edi)
40cb5c:	ff 15 3c 34 42 00    	call   *0x42343c
40cb62:	6a 2c                	push   $0x2c
40cb64:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cb67:	56                   	push   %esi
40cb68:	50                   	push   %eax
40cb69:	e8 b3 fa 00 00       	call   0x41c621
40cb6e:	83 c4 0c             	add    $0xc,%esp
40cb71:	c7 45 a8 0f 00 00 00 	movl   $0xf,-0x58(%ebp)
40cb78:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cb7b:	89 75 ac             	mov    %esi,-0x54(%ebp)
40cb7e:	6a 7d                	push   $0x7d
40cb80:	ff 15 74 33 42 00    	call   *0x423374
40cb86:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cb89:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cb8c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cb8f:	db 45 d8             	fildl  -0x28(%ebp)
40cb92:	89 75 bc             	mov    %esi,-0x44(%ebp)
40cb95:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cb98:	dd 45 d4             	fldl   -0x2c(%ebp)
40cb9b:	dc 0d 50 62 40 00    	fmull  0x406250
40cba1:	e8 69 fa 00 00       	call   0x41c60f
40cba6:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cba9:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbac:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cbaf:	8b 40 f8             	mov    -0x8(%eax),%eax
40cbb2:	40                   	inc    %eax
40cbb3:	50                   	push   %eax
40cbb4:	ff 15 78 33 42 00    	call   *0x423378
40cbba:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cbc0:	83 cb ff             	or     $0xffffffff,%ebx
40cbc3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cbc6:	85 c0                	test   %eax,%eax
40cbc8:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cbcb:	50                   	push   %eax
40cbcc:	56                   	push   %esi
40cbcd:	be 61 10 00 00       	mov    $0x1061,%esi
40cbd2:	56                   	push   %esi
40cbd3:	51                   	push   %ecx
40cbd4:	74 12                	je     0x40cbe8
40cbd6:	ff 15 40 34 42 00    	call   *0x423440
40cbdc:	53                   	push   %ebx
40cbdd:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbe0:	ff 15 7c 33 42 00    	call   *0x42337c
40cbe6:	eb 0d                	jmp    0x40cbf5
40cbe8:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cbef:	ff 15 40 34 42 00    	call   *0x423440
40cbf5:	6a 7c                	push   $0x7c
40cbf7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cbfa:	ff 15 74 33 42 00    	call   *0x423374
40cc00:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cc03:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cc06:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cc09:	db 45 d8             	fildl  -0x28(%ebp)
40cc0c:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
40cc13:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cc16:	dd 45 d4             	fldl   -0x2c(%ebp)
40cc19:	dc 0d 60 62 40 00    	fmull  0x406260
40cc1f:	e8 eb f9 00 00       	call   0x41c60f
40cc24:	89 45 b0             	mov    %eax,-0x50(%ebp)