40c932:	ff 75 0c             	push   0xc(%ebp)
40c935:	ff 75 fc             	push   -0x4(%ebp)
40c938:	89 e1                	mov    %esp,%ecx
40c93a:	ff 75 08             	push   0x8(%ebp)
40c93d:	e8 06 00 00 00       	call   0x40c948
40c942:	89 ec                	mov    %ebp,%esp
40c944:	5d                   	pop    %ebp
40c945:	c2 08 00             	ret    $0x8
40c948:	55                   	push   %ebp
40c949:	8b ec                	mov    %esp,%ebp
40c94b:	53                   	push   %ebx
40c94c:	93                   	xchg   %eax,%ebx
40c94d:	8b 45 08             	mov    0x8(%ebp),%eax
40c950:	40                   	inc    %eax
40c951:	89 d8                	mov    %ebx,%eax
40c953:	75 07                	jne    0x40c95c
40c955:	e8 22 ff ff ff       	call   0x40c87c
40c95a:	eb 56                	jmp    0x40c9b2
40c95c:	52                   	push   %edx
40c95d:	51                   	push   %ecx
40c95e:	e8 95 c6 ff ff       	call   0x408ff8
40c963:	85 c0                	test   %eax,%eax
40c965:	74 49                	je     0x40c9b0
40c967:	8b 45 08             	mov    0x8(%ebp),%eax
40c96a:	e8 f5 da ff ff       	call   0x40a464
40c96f:	8b 4b 4e             	mov    0x4e(%ebx),%ecx
40c972:	e3 05                	jecxz  0x40c979
40c974:	3b 43 52             	cmp    0x52(%ebx),%eax
40c977:	74 24                	je     0x40c99d
40c979:	89 43 52             	mov    %eax,0x52(%ebx)
40c97c:	41                   	inc    %ecx
40c97d:	e2 0a                	loop   0x40c989
40c97f:	31 c0                	xor    %eax,%eax
40c981:	e8 1e fd ff ff       	call   0x40c6a4
40c986:	89 43 4e             	mov    %eax,0x4e(%ebx)
40c989:	8b 43 4e             	mov    0x4e(%ebx),%eax
40c98c:	50                   	push   %eax
40c98d:	89 da                	mov    %ebx,%edx
40c98f:	e8 e0 04 00 00       	call   0x40ce74
40c994:	58                   	pop    %eax
40c995:	8b 53 52             	mov    0x52(%ebx),%edx
40c998:	e8 ff 05 00 00       	call   0x40cf9c
40c99d:	8b 43 4e             	mov    0x4e(%ebx),%eax
40c9a0:	e8 53 c6 ff ff       	call   0x408ff8
40c9a5:	59                   	pop    %ecx
40c9a6:	5a                   	pop    %edx
40c9a7:	50                   	push   %eax
40c9a8:	93                   	xchg   %eax,%ebx
40c9a9:	e8 0a 00 00 00       	call   0x40c9b8
40c9ae:	eb 02                	jmp    0x40c9b2
40c9b0:	59                   	pop    %ecx
40c9b1:	5a                   	pop    %edx
40c9b2:	5b                   	pop    %ebx
40c9b3:	5d                   	pop    %ebp
40c9b4:	c2 04 00             	ret    $0x4
40c9b7:	90                   	nop
40c9b8:	55                   	push   %ebp
40c9b9:	8b ec                	mov    %esp,%ebp
40c9bb:	52                   	push   %edx
40c9bc:	51                   	push   %ecx
40c9bd:	53                   	push   %ebx
40c9be:	89 c3                	mov    %eax,%ebx
40c9c0:	56                   	push   %esi
40c9c1:	e8 32 c6 ff ff       	call   0x408ff8
40c9c6:	85 c0                	test   %eax,%eax
40c9c8:	0f 84 a3 00 00 00    	je     0x40ca71
40c9ce:	6a 00                	push   $0x0
40c9d0:	e8 fb 7e ff ff       	call   0x4048d0
40c9d5:	50                   	push   %eax
40c9d6:	ff 75 08             	push   0x8(%ebp)
40c9d9:	50                   	push   %eax
40c9da:	e8 79 7f ff ff       	call   0x404958
40c9df:	50                   	push   %eax
40c9e0:	e8 d3 86 ff ff       	call   0x4050b8
40c9e5:	ff 73 18             	push   0x18(%ebx)
40c9e8:	ff 73 1c             	push   0x1c(%ebx)
40c9eb:	50                   	push   %eax
40c9ec:	e8 d7 7e ff ff       	call   0x4048c8
40c9f1:	50                   	push   %eax
40c9f2:	6a 00                	push   $0x0
40c9f4:	e8 d7 7e ff ff       	call   0x4048d0
40c9f9:	50                   	push   %eax
40c9fa:	ff 75 dc             	push   -0x24(%ebp)
40c9fd:	50                   	push   %eax
40c9fe:	e8 55 7f ff ff       	call   0x404958
40ca03:	50                   	push   %eax
40ca04:	68 20 00 cc 00       	push   $0xcc0020
40ca09:	8b 45 ec             	mov    -0x14(%ebp),%eax
40ca0c:	e8 63 00 00 00       	call   0x40ca74
40ca11:	68 28 03 44 00       	push   $0x440328
40ca16:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40ca19:	e8 56 00 00 00       	call   0x40ca74
40ca1e:	6a 00                	push   $0x0
40ca20:	ff 75 fc             	push   -0x4(%ebp)
40ca23:	e8 78 7f ff ff       	call   0x4049a0
40ca28:	50                   	push   %eax
40ca29:	68 ff ff ff 00       	push   $0xffffff
40ca2e:	ff 75 fc             	push   -0x4(%ebp)
40ca31:	e8 2a 7f ff ff       	call   0x404960
40ca36:	50                   	push   %eax
40ca37:	68 c6 00 88 00       	push   $0x8800c6
40ca3c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40ca3f:	e8 49 00 00 00       	call   0x40ca8d
40ca44:	68 46 00 66 00       	push   $0x660046
40ca49:	8b 45 d8             	mov    -0x28(%ebp),%eax
40ca4c:	e8 3c 00 00 00       	call   0x40ca8d
40ca51:	ff 75 fc             	push   -0x4(%ebp)
40ca54:	e8 07 7f ff ff       	call   0x404960
40ca59:	ff 75 fc             	push   -0x4(%ebp)
40ca5c:	e8 3f 7f ff ff       	call   0x4049a0
40ca61:	be e0 50 40 00       	mov    $0x4050e0,%esi
40ca66:	ff d6                	call   *%esi
40ca68:	e8 93 7e ff ff       	call   0x404900
40ca6d:	ff d6                	call   *%esi
40ca6f:	ff d6                	call   *%esi
40ca71:	f9                   	stc
40ca72:	72 45                	jb     0x40cab9
40ca74:	5e                   	pop    %esi
40ca75:	ff 73 18             	push   0x18(%ebx)
40ca78:	ff 73 1c             	push   0x1c(%ebx)
40ca7b:	31 d2                	xor    %edx,%edx
40ca7d:	52                   	push   %edx
40ca7e:	52                   	push   %edx
40ca7f:	50                   	push   %eax
40ca80:	ff 73 18             	push   0x18(%ebx)
40ca83:	ff 73 1c             	push   0x1c(%ebx)
40ca86:	52                   	push   %edx
40ca87:	52                   	push   %edx
40ca88:	ff 75 d8             	push   -0x28(%ebp)
40ca8b:	eb 25                	jmp    0x40cab2
40ca8d:	5e                   	pop    %esi
40ca8e:	ff 73 18             	push   0x18(%ebx)
40ca91:	ff 73 1c             	push   0x1c(%ebx)
40ca94:	6a 00                	push   $0x0
40ca96:	6a 00                	push   $0x0
40ca98:	50                   	push   %eax
40ca99:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ca9c:	8b 50 0c             	mov    0xc(%eax),%edx
40ca9f:	8b 48 04             	mov    0x4(%eax),%ecx
40caa2:	29 ca                	sub    %ecx,%edx
40caa4:	52                   	push   %edx
40caa5:	8b 50 08             	mov    0x8(%eax),%edx
40caa8:	8b 00                	mov    (%eax),%eax
40caaa:	29 c2                	sub    %eax,%edx
40caac:	52                   	push   %edx
40caad:	51                   	push   %ecx
40caae:	50                   	push   %eax
40caaf:	ff 75 fc             	push   -0x4(%ebp)
40cab2:	e8 f9 7e ff ff       	call   0x4049b0
40cab7:	ff e6                	jmp    *%esi
40cab9:	5e                   	pop    %esi
40caba:	5b                   	pop    %ebx
40cabb:	89 ec                	mov    %ebp,%esp
40cabd:	5d                   	pop    %ebp
40cabe:	c2 04 00             	ret    $0x4
40cac1:	8d 40 00             	lea    0x0(%eax),%eax
40cac4:	31 c9                	xor    %ecx,%ecx
40cac6:	87 48 38             	xchg   %ecx,0x38(%eax)
40cac9:	e3 0c                	jecxz  0x40cad7
40cacb:	51                   	push   %ecx
40cacc:	8b 40 24             	mov    0x24(%eax),%eax
40cacf:	ff 70 1c             	push   0x1c(%eax)
40cad2:	e8 81 7e ff ff       	call   0x404958
40cad7:	c3                   	ret
40cad8:	53                   	push   %ebx
40cad9:	89 c3                	mov    %eax,%ebx
40cadb:	e8 80 00 00 00       	call   0x40cb60
40cae0:	74 7b                	je     0x40cb5d
40cae2:	89 d8                	mov    %ebx,%eax
40cae4:	e8 0f c5 ff ff       	call   0x408ff8
40cae9:	85 c0                	test   %eax,%eax
40caeb:	74 70                	je     0x40cb5d
40caed:	8b 4b 24             	mov    0x24(%ebx),%ecx
40caf0:	41                   	inc    %ecx
40caf1:	e2 2c                	loop   0x40cb1f
40caf3:	c7 43 30 d8 8f 40 00 	movl   $0x408fd8,0x30(%ebx)
40cafa:	31 c0                	xor    %eax,%eax
40cafc:	e8 6b a5 ff ff       	call   0x40706c
40cb01:	89 43 24             	mov    %eax,0x24(%ebx)
40cb04:	c7 40 39 48 ce 40 00 	movl   $0x40ce48,0x39(%eax)
40cb0b:	89 58 3d             	mov    %ebx,0x3d(%eax)
40cb0e:	e8 e1 dd ff ff       	call   0x40a8f4
40cb13:	31 d2                	xor    %edx,%edx
40cb15:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
40cb18:	e3 05                	jecxz  0x40cb1f
40cb1a:	e8 2d da ff ff       	call   0x40a54c
40cb1f:	8b 43 24             	mov    0x24(%ebx),%eax
40cb22:	8b 48 1c             	mov    0x1c(%eax),%ecx
40cb25:	41                   	inc    %ecx
40cb26:	e2 11                	loop   0x40cb39
40cb28:	50                   	push   %eax
40cb29:	89 4b 38             	mov    %ecx,0x38(%ebx)
40cb2c:	51                   	push   %ecx
40cb2d:	e8 9e 7d ff ff       	call   0x4048d0
40cb32:	92                   	xchg   %eax,%edx
40cb33:	58                   	pop    %eax
40cb34:	e8 ef dc ff ff       	call   0x40a828
40cb39:	8b 4b 38             	mov    0x38(%ebx),%ecx
40cb3c:	41                   	inc    %ecx
40cb3d:	e2 14                	loop   0x40cb53
40cb3f:	ff 73 20             	push   0x20(%ebx)
40cb42:	8b 43 24             	mov    0x24(%ebx),%eax
40cb45:	e8 e6 dd ff ff       	call   0x40a930
40cb4a:	50                   	push   %eax
40cb4b:	e8 08 7e ff ff       	call   0x404958
40cb50:	89 43 38             	mov    %eax,0x38(%ebx)
40cb53:	c7 43 34 c4 ca 40 00 	movl   $0x40cac4,0x34(%ebx)
40cb5a:	8b 43 24             	mov    0x24(%ebx),%eax
40cb5d:	5b                   	pop    %ebx
40cb5e:	c3                   	ret
40cb5f:	90                   	nop
40cb60:	51                   	push   %ecx
40cb61:	8b 48 1c             	mov    0x1c(%eax),%ecx
40cb64:	e3 03                	jecxz  0x40cb69
40cb66:	8b 48 18             	mov    0x18(%eax),%ecx
40cb69:	85 c9                	test   %ecx,%ecx
40cb6b:	59                   	pop    %ecx
40cb6c:	0f 94 c0             	sete   %al
40cb6f:	c3                   	ret
40cb70:	50                   	push   %eax
40cb71:	92                   	xchg   %eax,%edx
40cb72:	e8 81 df ff ff       	call   0x40aaf8
40cb77:	92                   	xchg   %eax,%edx
40cb78:	58                   	pop    %eax
40cb79:	52                   	push   %edx
40cb7a:	e8 25 c8 ff ff       	call   0x4093a4
40cb7f:	58                   	pop    %eax
40cb80:	e8 8b d6 ff ff       	call   0x40a210
40cb85:	c3                   	ret
40cb86:	8b c0                	mov    %eax,%eax
40cb88:	53                   	push   %ebx
40cb89:	89 c3                	mov    %eax,%ebx
40cb8b:	31 d2                	xor    %edx,%edx
40cb8d:	e8 26 c9 ff ff       	call   0x4094b8
40cb92:	89 d8                	mov    %ebx,%eax
40cb94:	e8 5f c4 ff ff       	call   0x408ff8
40cb99:	85 c0                	test   %eax,%eax
40cb9b:	74 25                	je     0x40cbc2
40cb9d:	80 7b 72 00          	cmpb   $0x0,0x72(%ebx)
40cba1:	74 17                	je     0x40cbba
40cba3:	8b 43 45             	mov    0x45(%ebx),%eax
40cba6:	50                   	push   %eax
40cba7:	50                   	push   %eax
40cba8:	6a 00                	push   $0x0
40cbaa:	e8 71 7c ff ff       	call   0x404820
40cbaf:	89 c2                	mov    %eax,%edx
40cbb1:	87 43 41             	xchg   %eax,0x41(%ebx)
40cbb4:	59                   	pop    %ecx
40cbb5:	e8 8a 5d ff ff       	call   0x402944
40cbba:	31 c0                	xor    %eax,%eax
40cbbc:	88 43 72             	mov    %al,0x72(%ebx)
40cbbf:	87 43 20             	xchg   %eax,0x20(%ebx)
40cbc2:	5b                   	pop    %ebx
40cbc3:	c3                   	ret
40cbc4:	53                   	push   %ebx
40cbc5:	89 c3                	mov    %eax,%ebx
40cbc7:	e8 94 ff ff ff       	call   0x40cb60
40cbcc:	74 28                	je     0x40cbf6
40cbce:	89 d8                	mov    %ebx,%eax
40cbd0:	52                   	push   %edx
40cbd1:	e8 f2 c8 ff ff       	call   0x4094c8
40cbd6:	5a                   	pop    %edx
40cbd7:	39 d0                	cmp    %edx,%eax
40cbd9:	74 1b                	je     0x40cbf6
40cbdb:	85 d2                	test   %edx,%edx
40cbdd:	89 d8                	mov    %ebx,%eax
40cbdf:	75 07                	jne    0x40cbe8
40cbe1:	5b                   	pop    %ebx
40cbe2:	42                   	inc    %edx
40cbe3:	e9 d0 c8 ff ff       	jmp    0x4094b8
40cbe8:	88 53 49             	mov    %dl,0x49(%ebx)
40cbeb:	31 d2                	xor    %edx,%edx
40cbed:	e8 c6 c8 ff ff       	call   0x4094b8
40cbf2:	93                   	xchg   %eax,%ebx
40cbf3:	83 f8 00             	cmp    $0x0,%eax
40cbf6:	5b                   	pop    %ebx
40cbf7:	0f 85 17 00 00 00    	jne    0x40cc14
40cbfd:	c3                   	ret
40cbfe:	8b c0                	mov    %eax,%eax
40cc00:	0f b7 50 0e          	movzwl 0xe(%eax),%edx
40cc04:	8b 40 04             	mov    0x4(%eax),%eax
40cc07:	f7 e2                	mul    %edx
40cc09:	83 c0 1f             	add    $0x1f,%eax
40cc0c:	c1 e8 03             	shr    $0x3,%eax
40cc0f:	83 e0 fc             	and    $0xfffffffc,%eax
40cc12:	c3                   	ret
40cc13:	90                   	nop
40cc14:	50                   	push   %eax
40cc15:	e8 46 ff ff ff       	call   0x40cb60
40cc1a:	58                   	pop    %eax
40cc1b:	0f 84 e4 01 00 00    	je     0x40ce05
40cc21:	60                   	pusha
40cc22:	89 c3                	mov    %eax,%ebx
40cc24:	ff 53 34             	call   *0x34(%ebx)
40cc27:	31 c0                	xor    %eax,%eax
40cc29:	89 43 28             	mov    %eax,0x28(%ebx)
40cc2c:	89 43 56             	mov    %eax,0x56(%ebx)
40cc2f:	89 43 5a             	mov    %eax,0x5a(%ebx)
40cc32:	8b 73 1c             	mov    0x1c(%ebx),%esi
40cc35:	8b 7b 18             	mov    0x18(%ebx),%edi
40cc38:	8b 4b 41             	mov    0x41(%ebx),%ecx
40cc3b:	e3 11                	jecxz  0x40cc4e
40cc3d:	8b 43 3d             	mov    0x3d(%ebx),%eax
40cc40:	8b 70 04             	mov    0x4(%eax),%esi
40cc43:	8b 78 08             	mov    0x8(%eax),%edi
40cc46:	85 ff                	test   %edi,%edi
40cc48:	7d 23                	jge    0x40cc6d
40cc4a:	f7 df                	neg    %edi
40cc4c:	eb 1f                	jmp    0x40cc6d
40cc4e:	8b 4b 20             	mov    0x20(%ebx),%ecx
40cc51:	e3 1a                	jecxz  0x40cc6d
40cc53:	83 c4 e8             	add    $0xffffffe8,%esp
40cc56:	54                   	push   %esp
40cc57:	6a 18                	push   $0x18
40cc59:	51                   	push   %ecx
40cc5a:	e8 f5 82 ff ff       	call   0x404f54
40cc5f:	91                   	xchg   %eax,%ecx
40cc60:	e3 08                	jecxz  0x40cc6a
40cc62:	8b 74 24 04          	mov    0x4(%esp),%esi
40cc66:	8b 7c 24 08          	mov    0x8(%esp),%edi
40cc6a:	83 c4 18             	add    $0x18,%esp
40cc6d:	6a 00                	push   $0x0
40cc6f:	e8 5c 7c ff ff       	call   0x4048d0
40cc74:	50                   	push   %eax
40cc75:	80 7b 3c 01          	cmpb   $0x1,0x3c(%ebx)
40cc79:	0f 85 9e 00 00 00    	jne    0x40cd1d
40cc7f:	6a 00                	push   $0x0
40cc81:	e8 c2 7d ff ff       	call   0x404a48
40cc86:	50                   	push   %eax
40cc87:	ff 73 18             	push   0x18(%ebx)
40cc8a:	ff 73 1c             	push   0x1c(%ebx)
40cc8d:	50                   	push   %eax
40cc8e:	e8 35 7c ff ff       	call   0x4048c8
40cc93:	95                   	xchg   %eax,%ebp
40cc94:	6a 00                	push   $0x0
40cc96:	e8 5d 7e ff ff       	call   0x404af8
40cc9b:	5a                   	pop    %edx
40cc9c:	52                   	push   %edx
40cc9d:	55                   	push   %ebp
40cc9e:	52                   	push   %edx
40cc9f:	e8 b4 7c ff ff       	call   0x404958
40cca4:	50                   	push   %eax
40cca5:	ff 73 18             	push   0x18(%ebx)
40cca8:	ff 73 1c             	push   0x1c(%ebx)
40ccab:	6a 00                	push   $0x0
40ccad:	6a 00                	push   $0x0
40ccaf:	8b 43 2c             	mov    0x2c(%ebx),%eax
40ccb2:	e8 ad d7 ff ff       	call   0x40a464
40ccb7:	50                   	push   %eax
40ccb8:	e8 33 7c ff ff       	call   0x4048f0