40f7ef:	89 53 08             	mov    %edx,0x8(%ebx)
40f7f2:	eb 03                	jmp    0x40f7f7
40f7f4:	89 73 08             	mov    %esi,0x8(%ebx)
40f7f7:	33 c0                	xor    %eax,%eax
40f7f9:	0f b7 c8             	movzwl %ax,%ecx
40f7fc:	8b c1                	mov    %ecx,%eax
40f7fe:	c1 e1 10             	shl    $0x10,%ecx
40f801:	0b c1                	or     %ecx,%eax
40f803:	8d 7b 10             	lea    0x10(%ebx),%edi
40f806:	ab                   	stos   %eax,%es:(%edi)
40f807:	ab                   	stos   %eax,%es:(%edi)
40f808:	ab                   	stos   %eax,%es:(%edi)
40f809:	eb a8                	jmp    0x40f7b3
40f80b:	39 35 58 11 43 00    	cmp    %esi,0x431158
40f811:	0f 85 58 fe ff ff    	jne    0x40f66f
40f817:	83 c8 ff             	or     $0xffffffff,%eax
40f81a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f81d:	5f                   	pop    %edi
40f81e:	5e                   	pop    %esi
40f81f:	33 cd                	xor    %ebp,%ecx
40f821:	5b                   	pop    %ebx
40f822:	e8 ff 6d ff ff       	call   0x406626
40f827:	c9                   	leave
40f828:	c3                   	ret
40f829:	6a 14                	push   $0x14
40f82b:	68 b0 99 42 00       	push   $0x4299b0
40f830:	e8 a7 ab ff ff       	call   0x40a3dc
40f835:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
40f839:	e8 03 b2 ff ff       	call   0x40aa41
40f83e:	8b f8                	mov    %eax,%edi
40f840:	89 7d dc             	mov    %edi,-0x24(%ebp)
40f843:	e8 dc fc ff ff       	call   0x40f524
40f848:	8b 5f 68             	mov    0x68(%edi),%ebx
40f84b:	8b 75 08             	mov    0x8(%ebp),%esi
40f84e:	e8 75 fd ff ff       	call   0x40f5c8
40f853:	89 45 08             	mov    %eax,0x8(%ebp)
40f856:	3b 43 04             	cmp    0x4(%ebx),%eax
40f859:	0f 84 57 01 00 00    	je     0x40f9b6
40f85f:	68 20 02 00 00       	push   $0x220
40f864:	e8 f7 82 ff ff       	call   0x407b60
40f869:	59                   	pop    %ecx
40f86a:	8b d8                	mov    %eax,%ebx
40f86c:	85 db                	test   %ebx,%ebx
40f86e:	0f 84 46 01 00 00    	je     0x40f9ba
40f874:	b9 88 00 00 00       	mov    $0x88,%ecx
40f879:	8b 77 68             	mov    0x68(%edi),%esi
40f87c:	8b fb                	mov    %ebx,%edi
40f87e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40f880:	83 23 00             	andl   $0x0,(%ebx)
40f883:	53                   	push   %ebx
40f884:	ff 75 08             	push   0x8(%ebp)
40f887:	e8 b8 fd ff ff       	call   0x40f644
40f88c:	59                   	pop    %ecx
40f88d:	59                   	pop    %ecx
40f88e:	89 45 e0             	mov    %eax,-0x20(%ebp)
40f891:	85 c0                	test   %eax,%eax
40f893:	0f 85 fc 00 00 00    	jne    0x40f995
40f899:	8b 75 dc             	mov    -0x24(%ebp),%esi
40f89c:	ff 76 68             	push   0x68(%esi)
40f89f:	ff 15 78 a0 41 00    	call   *0x41a078
40f8a5:	85 c0                	test   %eax,%eax
40f8a7:	75 11                	jne    0x40f8ba
40f8a9:	8b 46 68             	mov    0x68(%esi),%eax
40f8ac:	3d c0 b9 42 00       	cmp    $0x42b9c0,%eax
40f8b1:	74 07                	je     0x40f8ba
40f8b3:	50                   	push   %eax
40f8b4:	e8 67 57 ff ff       	call   0x405020
40f8b9:	59                   	pop    %ecx
40f8ba:	89 5e 68             	mov    %ebx,0x68(%esi)
40f8bd:	53                   	push   %ebx
40f8be:	8b 3d 74 a0 41 00    	mov    0x41a074,%edi
40f8c4:	ff d7                	call   *%edi
40f8c6:	f6 46 70 02          	testb  $0x2,0x70(%esi)
40f8ca:	0f 85 ea 00 00 00    	jne    0x40f9ba
40f8d0:	f6 05 a0 b7 42 00 01 	testb  $0x1,0x42b7a0
40f8d7:	0f 85 dd 00 00 00    	jne    0x40f9ba
40f8dd:	6a 0d                	push   $0xd
40f8df:	e8 00 a0 ff ff       	call   0x4098e4
40f8e4:	59                   	pop    %ecx
40f8e5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f8e9:	8b 43 04             	mov    0x4(%ebx),%eax
40f8ec:	a3 68 11 43 00       	mov    %eax,0x431168
40f8f1:	8b 43 08             	mov    0x8(%ebx),%eax
40f8f4:	a3 6c 11 43 00       	mov    %eax,0x43116c
40f8f9:	8b 43 0c             	mov    0xc(%ebx),%eax
40f8fc:	a3 70 11 43 00       	mov    %eax,0x431170
40f901:	33 c0                	xor    %eax,%eax
40f903:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f906:	83 f8 05             	cmp    $0x5,%eax
40f909:	7d 10                	jge    0x40f91b
40f90b:	66 8b 4c 43 10       	mov    0x10(%ebx,%eax,2),%cx
40f910:	66 89 0c 45 5c 11 43 	mov    %cx,0x43115c(,%eax,2)
40f917:	00
40f918:	40                   	inc    %eax
40f919:	eb e8                	jmp    0x40f903
40f91b:	33 c0                	xor    %eax,%eax
40f91d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f920:	3d 01 01 00 00       	cmp    $0x101,%eax
40f925:	7d 0d                	jge    0x40f934
40f927:	8a 4c 18 1c          	mov    0x1c(%eax,%ebx,1),%cl
40f92b:	88 88 e0 bb 42 00    	mov    %cl,0x42bbe0(%eax)
40f931:	40                   	inc    %eax
40f932:	eb e9                	jmp    0x40f91d
40f934:	33 c0                	xor    %eax,%eax
40f936:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f939:	3d 00 01 00 00       	cmp    $0x100,%eax
40f93e:	7d 10                	jge    0x40f950
40f940:	8a 8c 18 1d 01 00 00 	mov    0x11d(%eax,%ebx,1),%cl
40f947:	88 88 e8 bc 42 00    	mov    %cl,0x42bce8(%eax)
40f94d:	40                   	inc    %eax
40f94e:	eb e6                	jmp    0x40f936
40f950:	ff 35 e8 bd 42 00    	push   0x42bde8
40f956:	ff 15 78 a0 41 00    	call   *0x41a078
40f95c:	85 c0                	test   %eax,%eax
40f95e:	75 13                	jne    0x40f973
40f960:	a1 e8 bd 42 00       	mov    0x42bde8,%eax
40f965:	3d c0 b9 42 00       	cmp    $0x42b9c0,%eax
40f96a:	74 07                	je     0x40f973
40f96c:	50                   	push   %eax
40f96d:	e8 ae 56 ff ff       	call   0x405020
40f972:	59                   	pop    %ecx
40f973:	89 1d e8 bd 42 00    	mov    %ebx,0x42bde8
40f979:	53                   	push   %ebx
40f97a:	ff d7                	call   *%edi
40f97c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40f983:	e8 02 00 00 00       	call   0x40f98a
40f988:	eb 30                	jmp    0x40f9ba
40f98a:	6a 0d                	push   $0xd
40f98c:	e8 79 9e ff ff       	call   0x40980a
40f991:	59                   	pop    %ecx
40f992:	c3                   	ret
40f993:	eb 25                	jmp    0x40f9ba
40f995:	83 f8 ff             	cmp    $0xffffffff,%eax
40f998:	75 20                	jne    0x40f9ba
40f99a:	81 fb c0 b9 42 00    	cmp    $0x42b9c0,%ebx
40f9a0:	74 07                	je     0x40f9a9
40f9a2:	53                   	push   %ebx
40f9a3:	e8 78 56 ff ff       	call   0x405020
40f9a8:	59                   	pop    %ecx
40f9a9:	e8 27 61 ff ff       	call   0x405ad5
40f9ae:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40f9b4:	eb 04                	jmp    0x40f9ba
40f9b6:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
40f9ba:	8b 45 e0             	mov    -0x20(%ebp),%eax
40f9bd:	e8 5f aa ff ff       	call   0x40a421
40f9c2:	c3                   	ret
40f9c3:	83 3d 3c 12 c7 00 00 	cmpl   $0x0,0xc7123c
40f9ca:	75 12                	jne    0x40f9de
40f9cc:	6a fd                	push   $0xfffffffd
40f9ce:	e8 56 fe ff ff       	call   0x40f829
40f9d3:	59                   	pop    %ecx
40f9d4:	c7 05 3c 12 c7 00 01 	movl   $0x1,0xc7123c
40f9db:	00 00 00
40f9de:	33 c0                	xor    %eax,%eax
40f9e0:	c3                   	ret
40f9e1:	8b ff                	mov    %edi,%edi
40f9e3:	55                   	push   %ebp
40f9e4:	8b ec                	mov    %esp,%ebp
40f9e6:	8b 45 08             	mov    0x8(%ebp),%eax
40f9e9:	53                   	push   %ebx
40f9ea:	33 db                	xor    %ebx,%ebx
40f9ec:	56                   	push   %esi
40f9ed:	57                   	push   %edi
40f9ee:	3b c3                	cmp    %ebx,%eax
40f9f0:	74 07                	je     0x40f9f9
40f9f2:	8b 7d 0c             	mov    0xc(%ebp),%edi
40f9f5:	3b fb                	cmp    %ebx,%edi
40f9f7:	77 1b                	ja     0x40fa14
40f9f9:	e8 d7 60 ff ff       	call   0x405ad5
40f9fe:	6a 16                	push   $0x16
40fa00:	5e                   	pop    %esi
40fa01:	89 30                	mov    %esi,(%eax)
40fa03:	53                   	push   %ebx
40fa04:	53                   	push   %ebx
40fa05:	53                   	push   %ebx
40fa06:	53                   	push   %ebx
40fa07:	53                   	push   %ebx
40fa08:	e8 18 58 ff ff       	call   0x405225
40fa0d:	83 c4 14             	add    $0x14,%esp
40fa10:	8b c6                	mov    %esi,%eax
40fa12:	eb 3c                	jmp    0x40fa50
40fa14:	8b 75 10             	mov    0x10(%ebp),%esi
40fa17:	3b f3                	cmp    %ebx,%esi
40fa19:	75 04                	jne    0x40fa1f
40fa1b:	88 18                	mov    %bl,(%eax)
40fa1d:	eb da                	jmp    0x40f9f9
40fa1f:	8b d0                	mov    %eax,%edx
40fa21:	38 1a                	cmp    %bl,(%edx)
40fa23:	74 04                	je     0x40fa29
40fa25:	42                   	inc    %edx
40fa26:	4f                   	dec    %edi
40fa27:	75 f8                	jne    0x40fa21
40fa29:	3b fb                	cmp    %ebx,%edi
40fa2b:	74 ee                	je     0x40fa1b
40fa2d:	8a 0e                	mov    (%esi),%cl
40fa2f:	88 0a                	mov    %cl,(%edx)
40fa31:	42                   	inc    %edx
40fa32:	46                   	inc    %esi
40fa33:	3a cb                	cmp    %bl,%cl
40fa35:	74 03                	je     0x40fa3a
40fa37:	4f                   	dec    %edi
40fa38:	75 f3                	jne    0x40fa2d
40fa3a:	3b fb                	cmp    %ebx,%edi
40fa3c:	75 10                	jne    0x40fa4e
40fa3e:	88 18                	mov    %bl,(%eax)
40fa40:	e8 90 60 ff ff       	call   0x405ad5
40fa45:	6a 22                	push   $0x22
40fa47:	59                   	pop    %ecx
40fa48:	89 08                	mov    %ecx,(%eax)
40fa4a:	8b f1                	mov    %ecx,%esi
40fa4c:	eb b5                	jmp    0x40fa03
40fa4e:	33 c0                	xor    %eax,%eax
40fa50:	5f                   	pop    %edi
40fa51:	5e                   	pop    %esi
40fa52:	5b                   	pop    %ebx
40fa53:	5d                   	pop    %ebp
40fa54:	c3                   	ret
40fa55:	cc                   	int3
40fa56:	cc                   	int3
40fa57:	cc                   	int3
40fa58:	cc                   	int3
40fa59:	cc                   	int3
40fa5a:	cc                   	int3
40fa5b:	cc                   	int3
40fa5c:	cc                   	int3
40fa5d:	cc                   	int3
40fa5e:	cc                   	int3
40fa5f:	cc                   	int3
40fa60:	55                   	push   %ebp
40fa61:	8b ec                	mov    %esp,%ebp
40fa63:	56                   	push   %esi
40fa64:	33 c0                	xor    %eax,%eax
40fa66:	50                   	push   %eax
40fa67:	50                   	push   %eax
40fa68:	50                   	push   %eax
40fa69:	50                   	push   %eax
40fa6a:	50                   	push   %eax
40fa6b:	50                   	push   %eax
40fa6c:	50                   	push   %eax
40fa6d:	50                   	push   %eax
40fa6e:	8b 55 0c             	mov    0xc(%ebp),%edx
40fa71:	8d 49 00             	lea    0x0(%ecx),%ecx
40fa74:	8a 02                	mov    (%edx),%al
40fa76:	0a c0                	or     %al,%al
40fa78:	74 09                	je     0x40fa83
40fa7a:	83 c2 01             	add    $0x1,%edx
40fa7d:	0f ab 04 24          	bts    %eax,(%esp)
40fa81:	eb f1                	jmp    0x40fa74
40fa83:	8b 75 08             	mov    0x8(%ebp),%esi
40fa86:	83 c9 ff             	or     $0xffffffff,%ecx
40fa89:	8d 49 00             	lea    0x0(%ecx),%ecx
40fa8c:	83 c1 01             	add    $0x1,%ecx
40fa8f:	8a 06                	mov    (%esi),%al
40fa91:	0a c0                	or     %al,%al
40fa93:	74 09                	je     0x40fa9e
40fa95:	83 c6 01             	add    $0x1,%esi
40fa98:	0f a3 04 24          	bt     %eax,(%esp)
40fa9c:	73 ee                	jae    0x40fa8c
40fa9e:	8b c1                	mov    %ecx,%eax
40faa0:	83 c4 20             	add    $0x20,%esp
40faa3:	5e                   	pop    %esi
40faa4:	c9                   	leave
40faa5:	c3                   	ret
40faa6:	8b ff                	mov    %edi,%edi
40faa8:	55                   	push   %ebp
40faa9:	8b ec                	mov    %esp,%ebp
40faab:	53                   	push   %ebx
40faac:	56                   	push   %esi
40faad:	8b 75 08             	mov    0x8(%ebp),%esi
40fab0:	33 db                	xor    %ebx,%ebx
40fab2:	57                   	push   %edi
40fab3:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40fab6:	75 10                	jne    0x40fac8
40fab8:	3b f3                	cmp    %ebx,%esi
40faba:	75 10                	jne    0x40facc
40fabc:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
40fabf:	75 12                	jne    0x40fad3
40fac1:	33 c0                	xor    %eax,%eax
40fac3:	5f                   	pop    %edi
40fac4:	5e                   	pop    %esi
40fac5:	5b                   	pop    %ebx
40fac6:	5d                   	pop    %ebp
40fac7:	c3                   	ret
40fac8:	3b f3                	cmp    %ebx,%esi
40faca:	74 07                	je     0x40fad3
40facc:	8b 7d 0c             	mov    0xc(%ebp),%edi
40facf:	3b fb                	cmp    %ebx,%edi
40fad1:	77 1b                	ja     0x40faee
40fad3:	e8 fd 5f ff ff       	call   0x405ad5
40fad8:	6a 16                	push   $0x16
40fada:	5e                   	pop    %esi
40fadb:	89 30                	mov    %esi,(%eax)
40fadd:	53                   	push   %ebx
40fade:	53                   	push   %ebx
40fadf:	53                   	push   %ebx
40fae0:	53                   	push   %ebx
40fae1:	53                   	push   %ebx
40fae2:	e8 3e 57 ff ff       	call   0x405225
40fae7:	83 c4 14             	add    $0x14,%esp
40faea:	8b c6                	mov    %esi,%eax
40faec:	eb d5                	jmp    0x40fac3
40faee:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40faf1:	75 04                	jne    0x40faf7
40faf3:	88 1e                	mov    %bl,(%esi)
40faf5:	eb ca                	jmp    0x40fac1
40faf7:	8b 55 10             	mov    0x10(%ebp),%edx
40fafa:	3b d3                	cmp    %ebx,%edx
40fafc:	75 04                	jne    0x40fb02
40fafe:	88 1e                	mov    %bl,(%esi)
40fb00:	eb d1                	jmp    0x40fad3
40fb02:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
40fb06:	8b c6                	mov    %esi,%eax
40fb08:	75 0f                	jne    0x40fb19
40fb0a:	8a 0a                	mov    (%edx),%cl
40fb0c:	88 08                	mov    %cl,(%eax)
40fb0e:	40                   	inc    %eax
40fb0f:	42                   	inc    %edx
40fb10:	3a cb                	cmp    %bl,%cl
40fb12:	74 1e                	je     0x40fb32
40fb14:	4f                   	dec    %edi
40fb15:	75 f3                	jne    0x40fb0a
40fb17:	eb 19                	jmp    0x40fb32
40fb19:	8a 0a                	mov    (%edx),%cl
40fb1b:	88 08                	mov    %cl,(%eax)
40fb1d:	40                   	inc    %eax
40fb1e:	42                   	inc    %edx
40fb1f:	3a cb                	cmp    %bl,%cl
40fb21:	74 08                	je     0x40fb2b
40fb23:	4f                   	dec    %edi
40fb24:	74 05                	je     0x40fb2b
40fb26:	ff 4d 14             	decl   0x14(%ebp)
40fb29:	75 ee                	jne    0x40fb19
40fb2b:	39 5d 14             	cmp    %ebx,0x14(%ebp)
40fb2e:	75 02                	jne    0x40fb32
40fb30:	88 18                	mov    %bl,(%eax)
40fb32:	3b fb                	cmp    %ebx,%edi
40fb34:	75 8b                	jne    0x40fac1
40fb36:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
40fb3a:	75 0f                	jne    0x40fb4b
40fb3c:	8b 45 0c             	mov    0xc(%ebp),%eax
40fb3f:	6a 50                	push   $0x50
40fb41:	88 5c 06 ff          	mov    %bl,-0x1(%esi,%eax,1)
40fb45:	58                   	pop    %eax
40fb46:	e9 78 ff ff ff       	jmp    0x40fac3
40fb4b:	88 1e                	mov    %bl,(%esi)
40fb4d:	e8 83 5f ff ff       	call   0x405ad5
40fb52:	6a 22                	push   $0x22
40fb54:	59                   	pop    %ecx
40fb55:	89 08                	mov    %ecx,(%eax)
40fb57:	8b f1                	mov    %ecx,%esi