40f7ff:	83 f9 10             	cmp    $0x10,%ecx
40f802:	72 2c                	jb     0x40f830
40f804:	8b 55 b4             	mov    -0x4c(%ebp),%edx
40f807:	41                   	inc    %ecx
40f808:	8b c2                	mov    %edx,%eax
40f80a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f810:	72 14                	jb     0x40f826
40f812:	8b 50 fc             	mov    -0x4(%eax),%edx
40f815:	83 c1 23             	add    $0x23,%ecx
40f818:	2b c2                	sub    %edx,%eax
40f81a:	83 c0 fc             	add    $0xfffffffc,%eax
40f81d:	83 f8 1f             	cmp    $0x1f,%eax
40f820:	0f 87 b6 00 00 00    	ja     0x40f8dc
40f826:	51                   	push   %ecx
40f827:	52                   	push   %edx
40f828:	e8 e1 c0 00 00       	call   0x41b90e
40f82d:	83 c4 08             	add    $0x8,%esp
40f830:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40f834:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40f837:	8d 7b 38             	lea    0x38(%ebx),%edi
40f83a:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
40f83e:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40f842:	72 02                	jb     0x40f846
40f844:	8b 3f                	mov    (%edi),%edi
40f846:	83 7b 34 08          	cmpl   $0x8,0x34(%ebx)
40f84a:	8d 43 20             	lea    0x20(%ebx),%eax
40f84d:	72 02                	jb     0x40f851
40f84f:	8b 00                	mov    (%eax),%eax
40f851:	83 7b 1c 08          	cmpl   $0x8,0x1c(%ebx)
40f855:	8d 53 08             	lea    0x8(%ebx),%edx
40f858:	72 02                	jb     0x40f85c
40f85a:	8b 12                	mov    (%edx),%edx
40f85c:	83 7b 7c 08          	cmpl   $0x8,0x7c(%ebx)
40f860:	8d 73 68             	lea    0x68(%ebx),%esi
40f863:	72 02                	jb     0x40f867
40f865:	8b 36                	mov    (%esi),%esi
40f867:	83 ec 08             	sub    $0x8,%esp
40f86a:	ff 75 d4             	push   -0x2c(%ebp)
40f86d:	ff 75 d0             	push   -0x30(%ebp)
40f870:	68 d7 da 44 00       	push   $0x44dad7
40f875:	ff 75 cc             	push   -0x34(%ebp)
40f878:	51                   	push   %ecx
40f879:	8b 4b 04             	mov    0x4(%ebx),%ecx
40f87c:	57                   	push   %edi
40f87d:	50                   	push   %eax
40f87e:	52                   	push   %edx
40f87f:	ff 75 08             	push   0x8(%ebp)
40f882:	56                   	push   %esi
40f883:	e8 18 36 ff ff       	call   0x402ea0
40f888:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40f88b:	83 f9 08             	cmp    $0x8,%ecx
40f88e:	72 2e                	jb     0x40f8be
40f890:	8b 55 d8             	mov    -0x28(%ebp),%edx
40f893:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f89a:	8b c2                	mov    %edx,%eax
40f89c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f8a2:	72 10                	jb     0x40f8b4
40f8a4:	8b 50 fc             	mov    -0x4(%eax),%edx
40f8a7:	83 c1 23             	add    $0x23,%ecx
40f8aa:	2b c2                	sub    %edx,%eax
40f8ac:	83 c0 fc             	add    $0xfffffffc,%eax
40f8af:	83 f8 1f             	cmp    $0x1f,%eax
40f8b2:	77 2d                	ja     0x40f8e1
40f8b4:	51                   	push   %ecx
40f8b5:	52                   	push   %edx
40f8b6:	e8 53 c0 00 00       	call   0x41b90e
40f8bb:	83 c4 08             	add    $0x8,%esp
40f8be:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f8c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f8c8:	59                   	pop    %ecx
40f8c9:	5f                   	pop    %edi
40f8ca:	5e                   	pop    %esi
40f8cb:	5b                   	pop    %ebx
40f8cc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f8cf:	33 cd                	xor    %ebp,%ecx
40f8d1:	e8 fa bf 00 00       	call   0x41b8d0
40f8d6:	8b e5                	mov    %ebp,%esp
40f8d8:	5d                   	pop    %ebp
40f8d9:	c2 18 00             	ret    $0x18
40f8dc:	e8 9e 11 01 00       	call   0x420a7f
40f8e1:	e8 99 11 01 00       	call   0x420a7f
40f8e6:	cc                   	int3
40f8e7:	cc                   	int3
40f8e8:	cc                   	int3
40f8e9:	cc                   	int3
40f8ea:	cc                   	int3
40f8eb:	cc                   	int3
40f8ec:	cc                   	int3
40f8ed:	cc                   	int3
40f8ee:	cc                   	int3
40f8ef:	cc                   	int3
40f8f0:	55                   	push   %ebp
40f8f1:	8b ec                	mov    %esp,%ebp
40f8f3:	8b 45 18             	mov    0x18(%ebp),%eax
40f8f6:	8b 4d 14             	mov    0x14(%ebp),%ecx
40f8f9:	53                   	push   %ebx
40f8fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f8fd:	57                   	push   %edi
40f8fe:	8b 7d 10             	mov    0x10(%ebp),%edi
40f901:	85 c0                	test   %eax,%eax
40f903:	74 2e                	je     0x40f933
40f905:	56                   	push   %esi
40f906:	8b 33                	mov    (%ebx),%esi
40f908:	8d 55 1c             	lea    0x1c(%ebp),%edx
40f90b:	52                   	push   %edx
40f90c:	50                   	push   %eax
40f90d:	85 c9                	test   %ecx,%ecx
40f90f:	ba d7 da 44 00       	mov    $0x44dad7,%edx
40f914:	8b 76 38             	mov    0x38(%esi),%esi
40f917:	8b c2                	mov    %edx,%eax
40f919:	0f 45 c1             	cmovne %ecx,%eax
40f91c:	85 ff                	test   %edi,%edi
40f91e:	50                   	push   %eax
40f91f:	0f 45 d7             	cmovne %edi,%edx
40f922:	8b ce                	mov    %esi,%ecx
40f924:	52                   	push   %edx
40f925:	ff 75 0c             	push   0xc(%ebp)
40f928:	ff 15 3c f2 43 00    	call   *0x43f23c
40f92e:	8b cb                	mov    %ebx,%ecx
40f930:	ff d6                	call   *%esi
40f932:	5e                   	pop    %esi
40f933:	5f                   	pop    %edi
40f934:	5b                   	pop    %ebx
40f935:	5d                   	pop    %ebp
40f936:	c3                   	ret
40f937:	cc                   	int3
40f938:	cc                   	int3
40f939:	cc                   	int3
40f93a:	cc                   	int3
40f93b:	cc                   	int3
40f93c:	cc                   	int3
40f93d:	cc                   	int3
40f93e:	cc                   	int3
40f93f:	cc                   	int3
40f940:	55                   	push   %ebp
40f941:	8b ec                	mov    %esp,%ebp
40f943:	83 e4 f8             	and    $0xfffffff8,%esp
40f946:	51                   	push   %ecx
40f947:	83 79 64 08          	cmpl   $0x8,0x64(%ecx)
40f94b:	8d 41 50             	lea    0x50(%ecx),%eax
40f94e:	53                   	push   %ebx
40f94f:	56                   	push   %esi
40f950:	57                   	push   %edi
40f951:	72 02                	jb     0x40f955
40f953:	8b 00                	mov    (%eax),%eax
40f955:	83 79 4c 08          	cmpl   $0x8,0x4c(%ecx)
40f959:	8d 51 38             	lea    0x38(%ecx),%edx
40f95c:	72 02                	jb     0x40f960
40f95e:	8b 12                	mov    (%edx),%edx
40f960:	83 79 34 08          	cmpl   $0x8,0x34(%ecx)
40f964:	8d 71 20             	lea    0x20(%ecx),%esi
40f967:	72 02                	jb     0x40f96b
40f969:	8b 36                	mov    (%esi),%esi
40f96b:	83 79 1c 08          	cmpl   $0x8,0x1c(%ecx)
40f96f:	8d 79 08             	lea    0x8(%ecx),%edi
40f972:	72 02                	jb     0x40f976
40f974:	8b 3f                	mov    (%edi),%edi
40f976:	83 79 7c 08          	cmpl   $0x8,0x7c(%ecx)
40f97a:	8d 59 68             	lea    0x68(%ecx),%ebx
40f97d:	72 02                	jb     0x40f981
40f97f:	8b 1b                	mov    (%ebx),%ebx
40f981:	83 ec 08             	sub    $0x8,%esp
40f984:	8b 49 04             	mov    0x4(%ecx),%ecx
40f987:	ff 75 18             	push   0x18(%ebp)
40f98a:	ff 75 14             	push   0x14(%ebp)
40f98d:	ff 75 10             	push   0x10(%ebp)
40f990:	ff 75 0c             	push   0xc(%ebp)
40f993:	50                   	push   %eax
40f994:	52                   	push   %edx
40f995:	56                   	push   %esi
40f996:	57                   	push   %edi
40f997:	ff 75 08             	push   0x8(%ebp)
40f99a:	53                   	push   %ebx
40f99b:	e8 00 35 ff ff       	call   0x402ea0
40f9a0:	5f                   	pop    %edi
40f9a1:	5e                   	pop    %esi
40f9a2:	5b                   	pop    %ebx
40f9a3:	8b e5                	mov    %ebp,%esp
40f9a5:	5d                   	pop    %ebp
40f9a6:	c2 14 00             	ret    $0x14
40f9a9:	cc                   	int3
40f9aa:	cc                   	int3
40f9ab:	cc                   	int3
40f9ac:	cc                   	int3
40f9ad:	cc                   	int3
40f9ae:	cc                   	int3
40f9af:	cc                   	int3
40f9b0:	6a 00                	push   $0x0
40f9b2:	6a 00                	push   $0x0
40f9b4:	51                   	push   %ecx
40f9b5:	ff 15 80 f0 43 00    	call   *0x43f080
40f9bb:	85 c0                	test   %eax,%eax
40f9bd:	75 13                	jne    0x40f9d2
40f9bf:	ff 15 60 f0 43 00    	call   *0x43f060
40f9c5:	85 c0                	test   %eax,%eax
40f9c7:	7e 0b                	jle    0x40f9d4
40f9c9:	0f b7 c0             	movzwl %ax,%eax
40f9cc:	0d 00 00 07 80       	or     $0x80070000,%eax
40f9d1:	c3                   	ret
40f9d2:	33 c0                	xor    %eax,%eax
40f9d4:	c3                   	ret
40f9d5:	cc                   	int3
40f9d6:	cc                   	int3
40f9d7:	cc                   	int3
40f9d8:	cc                   	int3
40f9d9:	cc                   	int3
40f9da:	cc                   	int3
40f9db:	cc                   	int3
40f9dc:	cc                   	int3
40f9dd:	cc                   	int3
40f9de:	cc                   	int3
40f9df:	cc                   	int3
40f9e0:	51                   	push   %ecx
40f9e1:	e8 2a c3 ff ff       	call   0x40bd10
40f9e6:	c3                   	ret
40f9e7:	cc                   	int3
40f9e8:	cc                   	int3
40f9e9:	cc                   	int3
40f9ea:	cc                   	int3
40f9eb:	cc                   	int3
40f9ec:	cc                   	int3
40f9ed:	cc                   	int3
40f9ee:	cc                   	int3
40f9ef:	cc                   	int3
40f9f0:	53                   	push   %ebx
40f9f1:	8b dc                	mov    %esp,%ebx
40f9f3:	83 ec 08             	sub    $0x8,%esp
40f9f6:	83 e4 f8             	and    $0xfffffff8,%esp
40f9f9:	83 c4 04             	add    $0x4,%esp
40f9fc:	55                   	push   %ebp
40f9fd:	8b 6b 04             	mov    0x4(%ebx),%ebp
40fa00:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40fa04:	8b ec                	mov    %esp,%ebp
40fa06:	6a ff                	push   $0xffffffff
40fa08:	68 e9 df 43 00       	push   $0x43dfe9
40fa0d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fa13:	50                   	push   %eax
40fa14:	53                   	push   %ebx
40fa15:	81 ec a8 00 00 00    	sub    $0xa8,%esp
40fa1b:	a1 14 40 45 00       	mov    0x454014,%eax
40fa20:	33 c5                	xor    %ebp,%eax
40fa22:	89 45 ec             	mov    %eax,-0x14(%ebp)
40fa25:	56                   	push   %esi
40fa26:	57                   	push   %edi
40fa27:	50                   	push   %eax
40fa28:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fa2b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fa31:	8b c1                	mov    %ecx,%eax
40fa33:	89 45 94             	mov    %eax,-0x6c(%ebp)
40fa36:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40fa39:	33 ff                	xor    %edi,%edi
40fa3b:	89 7d 90             	mov    %edi,-0x70(%ebp)
40fa3e:	8b 40 08             	mov    0x8(%eax),%eax
40fa41:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
40fa44:	8b 4b 08             	mov    0x8(%ebx),%ecx
40fa47:	85 c0                	test   %eax,%eax
40fa49:	75 3e                	jne    0x40fa89
40fa4b:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fa51:	85 f6                	test   %esi,%esi
40fa53:	74 2b                	je     0x40fa80
40fa55:	51                   	push   %ecx
40fa56:	68 d8 de 44 00       	push   $0x44ded8
40fa5b:	68 2c af 44 00       	push   $0x44af2c
40fa60:	68 2c af 44 00       	push   $0x44af2c
40fa65:	68 6c df 44 00       	push   $0x44df6c
40fa6a:	68 90 df 44 00       	push   $0x44df90
40fa6f:	6a 1e                	push   $0x1e
40fa71:	8b ce                	mov    %esi,%ecx
40fa73:	ff 15 3c f2 43 00    	call   *0x43f23c
40fa79:	ff d6                	call   *%esi
40fa7b:	83 c4 1c             	add    $0x1c,%esp
40fa7e:	eb 2e                	jmp    0x40faae
40fa80:	a1 b4 61 45 00       	mov    0x4561b4,%eax
40fa85:	85 c0                	test   %eax,%eax
40fa87:	74 30                	je     0x40fab9
40fa89:	8b 30                	mov    (%eax),%esi
40fa8b:	51                   	push   %ecx
40fa8c:	68 d8 de 44 00       	push   $0x44ded8
40fa91:	68 6c df 44 00       	push   $0x44df6c
40fa96:	8b 76 34             	mov    0x34(%esi),%esi
40fa99:	8b ce                	mov    %esi,%ecx
40fa9b:	68 2c af 44 00       	push   $0x44af2c
40faa0:	6a 1e                	push   $0x1e
40faa2:	50                   	push   %eax
40faa3:	ff 15 3c f2 43 00    	call   *0x43f23c
40faa9:	ff d6                	call   *%esi
40faab:	83 c4 18             	add    $0x18,%esp
40faae:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fab4:	a1 b4 61 45 00       	mov    0x4561b4,%eax
40fab9:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
40fabc:	8b 53 08             	mov    0x8(%ebx),%edx
40fabf:	8b 49 08             	mov    0x8(%ecx),%ecx
40fac2:	85 d2                	test   %edx,%edx
40fac4:	7f 7f                	jg     0x40fb45
40fac6:	85 c9                	test   %ecx,%ecx
40fac8:	74 17                	je     0x40fae1
40faca:	8b 31                	mov    (%ecx),%esi
40facc:	52                   	push   %edx
40facd:	68 a8 df 44 00       	push   $0x44dfa8
40fad2:	68 6c df 44 00       	push   $0x44df6c
40fad7:	68 2c af 44 00       	push   $0x44af2c
40fadc:	6a 32                	push   $0x32
40fade:	51                   	push   %ecx
40fadf:	eb 4d                	jmp    0x40fb2e
40fae1:	85 f6                	test   %esi,%esi
40fae3:	74 30                	je     0x40fb15
40fae5:	52                   	push   %edx
40fae6:	68 a8 df 44 00       	push   $0x44dfa8
40faeb:	68 2c af 44 00       	push   $0x44af2c
40faf0:	68 2c af 44 00       	push   $0x44af2c
40faf5:	68 6c df 44 00       	push   $0x44df6c
40fafa:	68 90 df 44 00       	push   $0x44df90
40faff:	6a 32                	push   $0x32
40fb01:	8b ce                	mov    %esi,%ecx
40fb03:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb09:	ff d6                	call   *%esi
40fb0b:	83 c4 1c             	add    $0x1c,%esp
40fb0e:	32 c0                	xor    %al,%al
40fb10:	e9 60 0a 00 00       	jmp    0x410575
40fb15:	85 c0                	test   %eax,%eax
40fb17:	74 25                	je     0x40fb3e
40fb19:	8b 30                	mov    (%eax),%esi
40fb1b:	52                   	push   %edx
40fb1c:	68 a8 df 44 00       	push   $0x44dfa8
40fb21:	68 6c df 44 00       	push   $0x44df6c
40fb26:	68 2c af 44 00       	push   $0x44af2c
40fb2b:	6a 32                	push   $0x32
40fb2d:	50                   	push   %eax
40fb2e:	8b 76 34             	mov    0x34(%esi),%esi
40fb31:	8b ce                	mov    %esi,%ecx
40fb33:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb39:	ff d6                	call   *%esi
40fb3b:	83 c4 18             	add    $0x18,%esp
40fb3e:	32 c0                	xor    %al,%al
40fb40:	e9 30 0a 00 00       	jmp    0x410575
40fb45:	85 c9                	test   %ecx,%ecx
40fb47:	74 1b                	je     0x40fb64
40fb49:	8b 45 8c             	mov    -0x74(%ebp),%eax
40fb4c:	8b 31                	mov    (%ecx),%esi
40fb4e:	ff 30                	push   (%eax)
40fb50:	68 48 e0 44 00       	push   $0x44e048
40fb55:	68 6c df 44 00       	push   $0x44df6c
40fb5a:	68 2c af 44 00       	push   $0x44af2c
40fb5f:	6a 14                	push   $0x14
40fb61:	51                   	push   %ecx
40fb62:	eb 50                	jmp    0x40fbb4
40fb64:	85 f6                	test   %esi,%esi
40fb66:	74 2f                	je     0x40fb97
40fb68:	8b 45 8c             	mov    -0x74(%ebp),%eax
40fb6b:	8b ce                	mov    %esi,%ecx