40c614:	e8 57 00 00 00       	call   0x40c670
40c619:	6a 0c                	push   $0xc
40c61b:	e8 f7 04 00 00       	call   0x40cb17
40c620:	59                   	pop    %ecx
40c621:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40c628:	8b 7e 6c             	mov    0x6c(%esi),%edi
40c62b:	85 ff                	test   %edi,%edi
40c62d:	74 23                	je     0x40c652
40c62f:	57                   	push   %edi
40c630:	e8 cf cf ff ff       	call   0x409604
40c635:	59                   	pop    %ecx
40c636:	3b 3d 20 d2 41 00    	cmp    0x41d220,%edi
40c63c:	74 14                	je     0x40c652
40c63e:	81 ff 48 d1 41 00    	cmp    $0x41d148,%edi
40c644:	74 0c                	je     0x40c652
40c646:	83 3f 00             	cmpl   $0x0,(%edi)
40c649:	75 07                	jne    0x40c652
40c64b:	57                   	push   %edi
40c64c:	e8 ed cd ff ff       	call   0x40943e
40c651:	59                   	pop    %ecx
40c652:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c659:	e8 1e 00 00 00       	call   0x40c67c
40c65e:	56                   	push   %esi
40c65f:	e8 ef 9d ff ff       	call   0x406453
40c664:	59                   	pop    %ecx
40c665:	e8 23 10 00 00       	call   0x40d68d
40c66a:	c2 04 00             	ret    $0x4
40c66d:	8b 75 08             	mov    0x8(%ebp),%esi
40c670:	6a 0d                	push   $0xd
40c672:	e8 c8 03 00 00       	call   0x40ca3f
40c677:	59                   	pop    %ecx
40c678:	c3                   	ret
40c679:	8b 75 08             	mov    0x8(%ebp),%esi
40c67c:	6a 0c                	push   $0xc
40c67e:	e8 bc 03 00 00       	call   0x40ca3f
40c683:	59                   	pop    %ecx
40c684:	c3                   	ret
40c685:	57                   	push   %edi
40c686:	68 44 80 41 00       	push   $0x418044
40c68b:	ff 15 44 70 41 00    	call   *0x417044
40c691:	8b f8                	mov    %eax,%edi
40c693:	85 ff                	test   %edi,%edi
40c695:	75 09                	jne    0x40c6a0
40c697:	e8 3c fd ff ff       	call   0x40c3d8
40c69c:	33 c0                	xor    %eax,%eax
40c69e:	5f                   	pop    %edi
40c69f:	c3                   	ret
40c6a0:	56                   	push   %esi
40c6a1:	8b 35 ec 70 41 00    	mov    0x4170ec,%esi
40c6a7:	68 84 80 41 00       	push   $0x418084
40c6ac:	57                   	push   %edi
40c6ad:	ff d6                	call   *%esi
40c6af:	68 78 80 41 00       	push   $0x418078
40c6b4:	57                   	push   %edi
40c6b5:	a3 48 dd 41 00       	mov    %eax,0x41dd48
40c6ba:	ff d6                	call   *%esi
40c6bc:	68 6c 80 41 00       	push   $0x41806c
40c6c1:	57                   	push   %edi
40c6c2:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c6c7:	ff d6                	call   *%esi
40c6c9:	68 64 80 41 00       	push   $0x418064
40c6ce:	57                   	push   %edi
40c6cf:	a3 50 dd 41 00       	mov    %eax,0x41dd50
40c6d4:	ff d6                	call   *%esi
40c6d6:	83 3d 48 dd 41 00 00 	cmpl   $0x0,0x41dd48
40c6dd:	8b 35 f8 70 41 00    	mov    0x4170f8,%esi
40c6e3:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c6e8:	74 16                	je     0x40c700
40c6ea:	83 3d 4c dd 41 00 00 	cmpl   $0x0,0x41dd4c
40c6f1:	74 0d                	je     0x40c700
40c6f3:	83 3d 50 dd 41 00 00 	cmpl   $0x0,0x41dd50
40c6fa:	74 04                	je     0x40c700
40c6fc:	85 c0                	test   %eax,%eax
40c6fe:	75 24                	jne    0x40c724
40c700:	a1 f0 70 41 00       	mov    0x4170f0,%eax
40c705:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c70a:	a1 fc 70 41 00       	mov    0x4170fc,%eax
40c70f:	c7 05 48 dd 41 00 a5 	movl   $0x40c3a5,0x41dd48
40c716:	c3 40 00
40c719:	89 35 50 dd 41 00    	mov    %esi,0x41dd50
40c71f:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c724:	ff 15 f4 70 41 00    	call   *0x4170f4
40c72a:	83 f8 ff             	cmp    $0xffffffff,%eax
40c72d:	a3 7c c9 41 00       	mov    %eax,0x41c97c
40c732:	0f 84 cc 00 00 00    	je     0x40c804
40c738:	ff 35 4c dd 41 00    	push   0x41dd4c
40c73e:	50                   	push   %eax
40c73f:	ff d6                	call   *%esi
40c741:	85 c0                	test   %eax,%eax
40c743:	0f 84 bb 00 00 00    	je     0x40c804
40c749:	e8 b4 13 00 00       	call   0x40db02
40c74e:	ff 35 48 dd 41 00    	push   0x41dd48
40c754:	e8 7d fb ff ff       	call   0x40c2d6
40c759:	ff 35 4c dd 41 00    	push   0x41dd4c
40c75f:	a3 48 dd 41 00       	mov    %eax,0x41dd48
40c764:	e8 6d fb ff ff       	call   0x40c2d6
40c769:	ff 35 50 dd 41 00    	push   0x41dd50
40c76f:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c774:	e8 5d fb ff ff       	call   0x40c2d6
40c779:	ff 35 54 dd 41 00    	push   0x41dd54
40c77f:	a3 50 dd 41 00       	mov    %eax,0x41dd50
40c784:	e8 4d fb ff ff       	call   0x40c2d6
40c789:	83 c4 10             	add    $0x10,%esp
40c78c:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c791:	e8 0b 02 00 00       	call   0x40c9a1
40c796:	85 c0                	test   %eax,%eax
40c798:	74 65                	je     0x40c7ff
40c79a:	68 64 c5 40 00       	push   $0x40c564
40c79f:	ff 35 48 dd 41 00    	push   0x41dd48
40c7a5:	e8 98 fb ff ff       	call   0x40c342
40c7aa:	59                   	pop    %ecx
40c7ab:	ff d0                	call   *%eax
40c7ad:	83 f8 ff             	cmp    $0xffffffff,%eax
40c7b0:	a3 78 c9 41 00       	mov    %eax,0x41c978
40c7b5:	74 48                	je     0x40c7ff
40c7b7:	68 14 02 00 00       	push   $0x214
40c7bc:	6a 01                	push   $0x1
40c7be:	e8 69 cb ff ff       	call   0x40932c
40c7c3:	8b f0                	mov    %eax,%esi
40c7c5:	85 f6                	test   %esi,%esi
40c7c7:	59                   	pop    %ecx
40c7c8:	59                   	pop    %ecx
40c7c9:	74 34                	je     0x40c7ff
40c7cb:	56                   	push   %esi
40c7cc:	ff 35 78 c9 41 00    	push   0x41c978
40c7d2:	ff 35 50 dd 41 00    	push   0x41dd50
40c7d8:	e8 65 fb ff ff       	call   0x40c342
40c7dd:	59                   	pop    %ecx
40c7de:	ff d0                	call   *%eax
40c7e0:	85 c0                	test   %eax,%eax
40c7e2:	74 1b                	je     0x40c7ff
40c7e4:	6a 00                	push   $0x0
40c7e6:	56                   	push   %esi
40c7e7:	e8 29 fc ff ff       	call   0x40c415
40c7ec:	59                   	pop    %ecx
40c7ed:	59                   	pop    %ecx
40c7ee:	ff 15 04 71 41 00    	call   *0x417104
40c7f4:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40c7f8:	89 06                	mov    %eax,(%esi)
40c7fa:	33 c0                	xor    %eax,%eax
40c7fc:	40                   	inc    %eax
40c7fd:	eb 07                	jmp    0x40c806
40c7ff:	e8 d4 fb ff ff       	call   0x40c3d8
40c804:	33 c0                	xor    %eax,%eax
40c806:	5e                   	pop    %esi
40c807:	5f                   	pop    %edi
40c808:	c3                   	ret
40c809:	6a 08                	push   $0x8
40c80b:	68 58 ac 41 00       	push   $0x41ac58
40c810:	e8 33 0e 00 00       	call   0x40d648
40c815:	e8 32 fd ff ff       	call   0x40c54c
40c81a:	8b 40 78             	mov    0x78(%eax),%eax
40c81d:	85 c0                	test   %eax,%eax
40c81f:	74 16                	je     0x40c837
40c821:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c825:	ff d0                	call   *%eax
40c827:	eb 07                	jmp    0x40c830
40c829:	33 c0                	xor    %eax,%eax
40c82b:	40                   	inc    %eax
40c82c:	c3                   	ret
40c82d:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c830:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c837:	e8 53 dc ff ff       	call   0x40a48f
40c83c:	e8 4c 0e 00 00       	call   0x40d68d
40c841:	c3                   	ret
40c842:	e8 05 fd ff ff       	call   0x40c54c
40c847:	8b 40 7c             	mov    0x7c(%eax),%eax
40c84a:	85 c0                	test   %eax,%eax
40c84c:	74 02                	je     0x40c850
40c84e:	ff d0                	call   *%eax
40c850:	e9 b4 ff ff ff       	jmp    0x40c809
40c855:	6a 08                	push   $0x8
40c857:	68 78 ac 41 00       	push   $0x41ac78
40c85c:	e8 e7 0d 00 00       	call   0x40d648
40c861:	ff 35 58 dd 41 00    	push   0x41dd58
40c867:	e8 d6 fa ff ff       	call   0x40c342
40c86c:	59                   	pop    %ecx
40c86d:	85 c0                	test   %eax,%eax
40c86f:	74 16                	je     0x40c887
40c871:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c875:	ff d0                	call   *%eax
40c877:	eb 07                	jmp    0x40c880
40c879:	33 c0                	xor    %eax,%eax
40c87b:	40                   	inc    %eax
40c87c:	c3                   	ret
40c87d:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c880:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c887:	e9 7d ff ff ff       	jmp    0x40c809
40c88c:	68 09 c8 40 00       	push   $0x40c809
40c891:	e8 40 fa ff ff       	call   0x40c2d6
40c896:	59                   	pop    %ecx
40c897:	a3 58 dd 41 00       	mov    %eax,0x41dd58
40c89c:	c3                   	ret
40c89d:	cc                   	int3
40c89e:	cc                   	int3
40c89f:	cc                   	int3
40c8a0:	55                   	push   %ebp
40c8a1:	8b ec                	mov    %esp,%ebp
40c8a3:	83 ec 04             	sub    $0x4,%esp
40c8a6:	53                   	push   %ebx
40c8a7:	51                   	push   %ecx
40c8a8:	8b 45 0c             	mov    0xc(%ebp),%eax
40c8ab:	83 c0 0c             	add    $0xc,%eax
40c8ae:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c8b1:	8b 45 08             	mov    0x8(%ebp),%eax
40c8b4:	55                   	push   %ebp
40c8b5:	ff 75 10             	push   0x10(%ebp)
40c8b8:	8b 4d 10             	mov    0x10(%ebp),%ecx
40c8bb:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40c8be:	e8 6d 77 00 00       	call   0x414030
40c8c3:	56                   	push   %esi
40c8c4:	57                   	push   %edi
40c8c5:	ff d0                	call   *%eax
40c8c7:	5f                   	pop    %edi
40c8c8:	5e                   	pop    %esi
40c8c9:	8b dd                	mov    %ebp,%ebx
40c8cb:	5d                   	pop    %ebp
40c8cc:	8b 4d 10             	mov    0x10(%ebp),%ecx
40c8cf:	55                   	push   %ebp
40c8d0:	8b eb                	mov    %ebx,%ebp
40c8d2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
40c8d8:	75 05                	jne    0x40c8df
40c8da:	b9 02 00 00 00       	mov    $0x2,%ecx
40c8df:	51                   	push   %ecx
40c8e0:	e8 4b 77 00 00       	call   0x414030
40c8e5:	5d                   	pop    %ebp
40c8e6:	59                   	pop    %ecx
40c8e7:	5b                   	pop    %ebx
40c8e8:	c9                   	leave
40c8e9:	c2 0c 00             	ret    $0xc
40c8ec:	55                   	push   %ebp
40c8ed:	8b ec                	mov    %esp,%ebp
40c8ef:	51                   	push   %ecx
40c8f0:	51                   	push   %ecx
40c8f1:	56                   	push   %esi
40c8f2:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c8f5:	33 f6                	xor    %esi,%esi
40c8f7:	50                   	push   %eax
40c8f8:	89 75 fc             	mov    %esi,-0x4(%ebp)
40c8fb:	89 75 f8             	mov    %esi,-0x8(%ebp)
40c8fe:	e8 ec 0f 00 00       	call   0x40d8ef
40c903:	85 c0                	test   %eax,%eax
40c905:	59                   	pop    %ecx
40c906:	74 0d                	je     0x40c915
40c908:	56                   	push   %esi
40c909:	56                   	push   %esi
40c90a:	56                   	push   %esi
40c90b:	56                   	push   %esi
40c90c:	56                   	push   %esi
40c90d:	e8 42 ac ff ff       	call   0x407554
40c912:	83 c4 14             	add    $0x14,%esp
40c915:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c918:	50                   	push   %eax
40c919:	e8 08 10 00 00       	call   0x40d926
40c91e:	85 c0                	test   %eax,%eax
40c920:	59                   	pop    %ecx
40c921:	74 0d                	je     0x40c930
40c923:	56                   	push   %esi
40c924:	56                   	push   %esi
40c925:	56                   	push   %esi
40c926:	56                   	push   %esi
40c927:	56                   	push   %esi
40c928:	e8 27 ac ff ff       	call   0x407554
40c92d:	83 c4 14             	add    $0x14,%esp
40c930:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
40c934:	5e                   	pop    %esi
40c935:	75 0b                	jne    0x40c942
40c937:	83 7d f8 05          	cmpl   $0x5,-0x8(%ebp)
40c93b:	72 05                	jb     0x40c942
40c93d:	33 c0                	xor    %eax,%eax
40c93f:	40                   	inc    %eax
40c940:	c9                   	leave
40c941:	c3                   	ret
40c942:	6a 03                	push   $0x3
40c944:	58                   	pop    %eax
40c945:	c9                   	leave
40c946:	c3                   	ret
40c947:	33 c0                	xor    %eax,%eax
40c949:	39 44 24 04          	cmp    %eax,0x4(%esp)
40c94d:	6a 00                	push   $0x0
40c94f:	0f 94 c0             	sete   %al
40c952:	68 00 10 00 00       	push   $0x1000
40c957:	50                   	push   %eax
40c958:	ff 15 0c 71 41 00    	call   *0x41710c
40c95e:	85 c0                	test   %eax,%eax
40c960:	a3 5c dd 41 00       	mov    %eax,0x41dd5c
40c965:	75 03                	jne    0x40c96a
40c967:	33 c0                	xor    %eax,%eax
40c969:	c3                   	ret
40c96a:	e8 7d ff ff ff       	call   0x40c8ec
40c96f:	83 f8 03             	cmp    $0x3,%eax
40c972:	a3 f0 e5 41 00       	mov    %eax,0x41e5f0
40c977:	75 24                	jne    0x40c99d
40c979:	68 f8 03 00 00       	push   $0x3f8
40c97e:	e8 c5 01 00 00       	call   0x40cb48
40c983:	85 c0                	test   %eax,%eax
40c985:	59                   	pop    %ecx
40c986:	75 15                	jne    0x40c99d
40c988:	ff 35 5c dd 41 00    	push   0x41dd5c
40c98e:	ff 15 08 71 41 00    	call   *0x417108
40c994:	83 25 5c dd 41 00 00 	andl   $0x0,0x41dd5c
40c99b:	eb ca                	jmp    0x40c967
40c99d:	33 c0                	xor    %eax,%eax
40c99f:	40                   	inc    %eax
40c9a0:	c3                   	ret
40c9a1:	56                   	push   %esi
40c9a2:	57                   	push   %edi
40c9a3:	33 f6                	xor    %esi,%esi
40c9a5:	bf 60 dd 41 00       	mov    $0x41dd60,%edi
40c9aa:	83 3c f5 8c c9 41 00 	cmpl   $0x1,0x41c98c(,%esi,8)
40c9b1:	01
40c9b2:	75 1e                	jne    0x40c9d2
40c9b4:	8d 04 f5 88 c9 41 00 	lea    0x41c988(,%esi,8),%eax
40c9bb:	89 38                	mov    %edi,(%eax)
40c9bd:	68 a0 0f 00 00       	push   $0xfa0
40c9c2:	ff 30                	push   (%eax)
40c9c4:	83 c7 18             	add    $0x18,%edi
40c9c7:	e8 a9 76 00 00       	call   0x414075
40c9cc:	85 c0                	test   %eax,%eax
40c9ce:	59                   	pop    %ecx
40c9cf:	59                   	pop    %ecx
40c9d0:	74 0c                	je     0x40c9de
40c9d2:	46                   	inc    %esi
40c9d3:	83 fe 24             	cmp    $0x24,%esi
40c9d6:	7c d2                	jl     0x40c9aa
40c9d8:	33 c0                	xor    %eax,%eax
40c9da:	40                   	inc    %eax
40c9db:	5f                   	pop    %edi
40c9dc:	5e                   	pop    %esi
40c9dd:	c3                   	ret
40c9de:	83 24 f5 88 c9 41 00 	andl   $0x0,0x41c988(,%esi,8)
40c9e5:	00
40c9e6:	33 c0                	xor    %eax,%eax
40c9e8:	eb f1                	jmp    0x40c9db
40c9ea:	53                   	push   %ebx
40c9eb:	8b 1d 84 70 41 00    	mov    0x417084,%ebx
40c9f1:	56                   	push   %esi
40c9f2:	be 88 c9 41 00       	mov    $0x41c988,%esi
40c9f7:	57                   	push   %edi
40c9f8:	8b 3e                	mov    (%esi),%edi
40c9fa:	85 ff                	test   %edi,%edi
40c9fc:	74 13                	je     0x40ca11
40c9fe:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
40ca02:	74 0d                	je     0x40ca11
40ca04:	57                   	push   %edi
40ca05:	ff d3                	call   *%ebx
40ca07:	57                   	push   %edi
40ca08:	e8 46 9a ff ff       	call   0x406453
40ca0d:	83 26 00             	andl   $0x0,(%esi)
40ca10:	59                   	pop    %ecx