405739:	5f                   	pop    %edi
40573a:	5e                   	pop    %esi
40573b:	33 cd                	xor    %ebp,%ecx
40573d:	5b                   	pop    %ebx
40573e:	e8 61 c6 ff ff       	call   0x401da4
405743:	c9                   	leave
405744:	c3                   	ret
405745:	6a 14                	push   $0x14
405747:	68 18 12 41 00       	push   $0x411218
40574c:	e8 1f ea ff ff       	call   0x404170
405751:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
405755:	e8 8c 06 00 00       	call   0x405de6
40575a:	8b f8                	mov    %eax,%edi
40575c:	89 7d dc             	mov    %edi,-0x24(%ebp)
40575f:	e8 d8 fc ff ff       	call   0x40543c
405764:	8b 5f 68             	mov    0x68(%edi),%ebx
405767:	8b 75 08             	mov    0x8(%ebp),%esi
40576a:	e8 71 fd ff ff       	call   0x4054e0
40576f:	89 45 08             	mov    %eax,0x8(%ebp)
405772:	3b 43 04             	cmp    0x4(%ebx),%eax
405775:	0f 84 57 01 00 00    	je     0x4058d2
40577b:	68 20 02 00 00       	push   $0x220
405780:	e8 3a 11 00 00       	call   0x4068bf
405785:	59                   	pop    %ecx
405786:	8b d8                	mov    %eax,%ebx
405788:	85 db                	test   %ebx,%ebx
40578a:	0f 84 46 01 00 00    	je     0x4058d6
405790:	b9 88 00 00 00       	mov    $0x88,%ecx
405795:	8b 77 68             	mov    0x68(%edi),%esi
405798:	8b fb                	mov    %ebx,%edi
40579a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40579c:	83 23 00             	andl   $0x0,(%ebx)
40579f:	53                   	push   %ebx
4057a0:	ff 75 08             	push   0x8(%ebp)
4057a3:	e8 b4 fd ff ff       	call   0x40555c
4057a8:	59                   	pop    %ecx
4057a9:	59                   	pop    %ecx
4057aa:	89 45 e0             	mov    %eax,-0x20(%ebp)
4057ad:	85 c0                	test   %eax,%eax
4057af:	0f 85 fc 00 00 00    	jne    0x4058b1
4057b5:	8b 75 dc             	mov    -0x24(%ebp),%esi
4057b8:	ff 76 68             	push   0x68(%esi)
4057bb:	ff 15 b8 f0 40 00    	call   *0x40f0b8
4057c1:	85 c0                	test   %eax,%eax
4057c3:	75 11                	jne    0x4057d6
4057c5:	8b 46 68             	mov    0x68(%esi),%eax
4057c8:	3d 00 24 41 00       	cmp    $0x412400,%eax
4057cd:	74 07                	je     0x4057d6
4057cf:	50                   	push   %eax
4057d0:	e8 96 c7 ff ff       	call   0x401f6b
4057d5:	59                   	pop    %ecx
4057d6:	89 5e 68             	mov    %ebx,0x68(%esi)
4057d9:	53                   	push   %ebx
4057da:	8b 3d b4 f0 40 00    	mov    0x40f0b4,%edi
4057e0:	ff d7                	call   *%edi
4057e2:	f6 46 70 02          	testb  $0x2,0x70(%esi)
4057e6:	0f 85 ea 00 00 00    	jne    0x4058d6
4057ec:	f6 05 20 29 41 00 01 	testb  $0x1,0x412920
4057f3:	0f 85 dd 00 00 00    	jne    0x4058d6
4057f9:	6a 0d                	push   $0xd
4057fb:	e8 99 15 00 00       	call   0x406d99
405800:	59                   	pop    %ecx
405801:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405805:	8b 43 04             	mov    0x4(%ebx),%eax
405808:	a3 38 32 41 00       	mov    %eax,0x413238
40580d:	8b 43 08             	mov    0x8(%ebx),%eax
405810:	a3 3c 32 41 00       	mov    %eax,0x41323c
405815:	8b 43 0c             	mov    0xc(%ebx),%eax
405818:	a3 40 32 41 00       	mov    %eax,0x413240
40581d:	33 c0                	xor    %eax,%eax
40581f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405822:	83 f8 05             	cmp    $0x5,%eax
405825:	7d 10                	jge    0x405837
405827:	66 8b 4c 43 10       	mov    0x10(%ebx,%eax,2),%cx
40582c:	66 89 0c 45 2c 32 41 	mov    %cx,0x41322c(,%eax,2)
405833:	00
405834:	40                   	inc    %eax
405835:	eb e8                	jmp    0x40581f
405837:	33 c0                	xor    %eax,%eax
405839:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40583c:	3d 01 01 00 00       	cmp    $0x101,%eax
405841:	7d 0d                	jge    0x405850
405843:	8a 4c 18 1c          	mov    0x1c(%eax,%ebx,1),%cl
405847:	88 88 20 26 41 00    	mov    %cl,0x412620(%eax)
40584d:	40                   	inc    %eax
40584e:	eb e9                	jmp    0x405839
405850:	33 c0                	xor    %eax,%eax
405852:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405855:	3d 00 01 00 00       	cmp    $0x100,%eax
40585a:	7d 10                	jge    0x40586c
40585c:	8a 8c 18 1d 01 00 00 	mov    0x11d(%eax,%ebx,1),%cl
405863:	88 88 28 27 41 00    	mov    %cl,0x412728(%eax)
405869:	40                   	inc    %eax
40586a:	eb e6                	jmp    0x405852
40586c:	ff 35 28 28 41 00    	push   0x412828
405872:	ff 15 b8 f0 40 00    	call   *0x40f0b8
405878:	85 c0                	test   %eax,%eax
40587a:	75 13                	jne    0x40588f
40587c:	a1 28 28 41 00       	mov    0x412828,%eax
405881:	3d 00 24 41 00       	cmp    $0x412400,%eax
405886:	74 07                	je     0x40588f
405888:	50                   	push   %eax
405889:	e8 dd c6 ff ff       	call   0x401f6b
40588e:	59                   	pop    %ecx
40588f:	89 1d 28 28 41 00    	mov    %ebx,0x412828
405895:	53                   	push   %ebx
405896:	ff d7                	call   *%edi
405898:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40589f:	e8 02 00 00 00       	call   0x4058a6
4058a4:	eb 30                	jmp    0x4058d6
4058a6:	6a 0d                	push   $0xd
4058a8:	e8 13 14 00 00       	call   0x406cc0
4058ad:	59                   	pop    %ecx
4058ae:	c3                   	ret
4058af:	eb 25                	jmp    0x4058d6
4058b1:	83 f8 ff             	cmp    $0xffffffff,%eax
4058b4:	75 20                	jne    0x4058d6
4058b6:	81 fb 00 24 41 00    	cmp    $0x412400,%ebx
4058bc:	74 07                	je     0x4058c5
4058be:	53                   	push   %ebx
4058bf:	e8 a7 c6 ff ff       	call   0x401f6b
4058c4:	59                   	pop    %ecx
4058c5:	e8 5d e8 ff ff       	call   0x404127
4058ca:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4058d0:	eb 04                	jmp    0x4058d6
4058d2:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4058d6:	8b 45 e0             	mov    -0x20(%ebp),%eax
4058d9:	e8 d7 e8 ff ff       	call   0x4041b5
4058de:	c3                   	ret
4058df:	83 3d 2c 47 41 00 00 	cmpl   $0x0,0x41472c
4058e6:	75 12                	jne    0x4058fa
4058e8:	6a fd                	push   $0xfffffffd
4058ea:	e8 56 fe ff ff       	call   0x405745
4058ef:	59                   	pop    %ecx
4058f0:	c7 05 2c 47 41 00 01 	movl   $0x1,0x41472c
4058f7:	00 00 00
4058fa:	33 c0                	xor    %eax,%eax
4058fc:	c3                   	ret
4058fd:	8b ff                	mov    %edi,%edi
4058ff:	55                   	push   %ebp
405900:	8b ec                	mov    %esp,%ebp
405902:	53                   	push   %ebx
405903:	56                   	push   %esi
405904:	8b 35 b4 f0 40 00    	mov    0x40f0b4,%esi
40590a:	57                   	push   %edi
40590b:	8b 7d 08             	mov    0x8(%ebp),%edi
40590e:	57                   	push   %edi
40590f:	ff d6                	call   *%esi
405911:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
405917:	85 c0                	test   %eax,%eax
405919:	74 03                	je     0x40591e
40591b:	50                   	push   %eax
40591c:	ff d6                	call   *%esi
40591e:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
405924:	85 c0                	test   %eax,%eax
405926:	74 03                	je     0x40592b
405928:	50                   	push   %eax
405929:	ff d6                	call   *%esi
40592b:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
405931:	85 c0                	test   %eax,%eax
405933:	74 03                	je     0x405938
405935:	50                   	push   %eax
405936:	ff d6                	call   *%esi
405938:	8b 87 c0 00 00 00    	mov    0xc0(%edi),%eax
40593e:	85 c0                	test   %eax,%eax
405940:	74 03                	je     0x405945
405942:	50                   	push   %eax
405943:	ff d6                	call   *%esi
405945:	8d 5f 50             	lea    0x50(%edi),%ebx
405948:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
40594f:	81 7b f8 24 29 41 00 	cmpl   $0x412924,-0x8(%ebx)
405956:	74 09                	je     0x405961
405958:	8b 03                	mov    (%ebx),%eax
40595a:	85 c0                	test   %eax,%eax
40595c:	74 03                	je     0x405961
40595e:	50                   	push   %eax
40595f:	ff d6                	call   *%esi
405961:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
405965:	74 0a                	je     0x405971
405967:	8b 43 04             	mov    0x4(%ebx),%eax
40596a:	85 c0                	test   %eax,%eax
40596c:	74 03                	je     0x405971
40596e:	50                   	push   %eax
40596f:	ff d6                	call   *%esi
405971:	83 c3 10             	add    $0x10,%ebx
405974:	ff 4d 08             	decl   0x8(%ebp)
405977:	75 d6                	jne    0x40594f
405979:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
40597f:	05 b4 00 00 00       	add    $0xb4,%eax
405984:	50                   	push   %eax
405985:	ff d6                	call   *%esi
405987:	5f                   	pop    %edi
405988:	5e                   	pop    %esi
405989:	5b                   	pop    %ebx
40598a:	5d                   	pop    %ebp
40598b:	c3                   	ret
40598c:	8b ff                	mov    %edi,%edi
40598e:	55                   	push   %ebp
40598f:	8b ec                	mov    %esp,%ebp
405991:	57                   	push   %edi
405992:	8b 7d 08             	mov    0x8(%ebp),%edi
405995:	85 ff                	test   %edi,%edi
405997:	0f 84 83 00 00 00    	je     0x405a20
40599d:	53                   	push   %ebx
40599e:	56                   	push   %esi
40599f:	8b 35 b8 f0 40 00    	mov    0x40f0b8,%esi
4059a5:	57                   	push   %edi
4059a6:	ff d6                	call   *%esi
4059a8:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
4059ae:	85 c0                	test   %eax,%eax
4059b0:	74 03                	je     0x4059b5
4059b2:	50                   	push   %eax
4059b3:	ff d6                	call   *%esi
4059b5:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
4059bb:	85 c0                	test   %eax,%eax
4059bd:	74 03                	je     0x4059c2
4059bf:	50                   	push   %eax
4059c0:	ff d6                	call   *%esi
4059c2:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
4059c8:	85 c0                	test   %eax,%eax
4059ca:	74 03                	je     0x4059cf
4059cc:	50                   	push   %eax
4059cd:	ff d6                	call   *%esi
4059cf:	8b 87 c0 00 00 00    	mov    0xc0(%edi),%eax
4059d5:	85 c0                	test   %eax,%eax
4059d7:	74 03                	je     0x4059dc
4059d9:	50                   	push   %eax
4059da:	ff d6                	call   *%esi
4059dc:	8d 5f 50             	lea    0x50(%edi),%ebx
4059df:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
4059e6:	81 7b f8 24 29 41 00 	cmpl   $0x412924,-0x8(%ebx)
4059ed:	74 09                	je     0x4059f8
4059ef:	8b 03                	mov    (%ebx),%eax
4059f1:	85 c0                	test   %eax,%eax
4059f3:	74 03                	je     0x4059f8
4059f5:	50                   	push   %eax
4059f6:	ff d6                	call   *%esi
4059f8:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
4059fc:	74 0a                	je     0x405a08
4059fe:	8b 43 04             	mov    0x4(%ebx),%eax
405a01:	85 c0                	test   %eax,%eax
405a03:	74 03                	je     0x405a08
405a05:	50                   	push   %eax
405a06:	ff d6                	call   *%esi
405a08:	83 c3 10             	add    $0x10,%ebx
405a0b:	ff 4d 08             	decl   0x8(%ebp)
405a0e:	75 d6                	jne    0x4059e6
405a10:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
405a16:	05 b4 00 00 00       	add    $0xb4,%eax
405a1b:	50                   	push   %eax
405a1c:	ff d6                	call   *%esi
405a1e:	5e                   	pop    %esi
405a1f:	5b                   	pop    %ebx
405a20:	8b c7                	mov    %edi,%eax
405a22:	5f                   	pop    %edi
405a23:	5d                   	pop    %ebp
405a24:	c3                   	ret
405a25:	8b ff                	mov    %edi,%edi
405a27:	55                   	push   %ebp
405a28:	8b ec                	mov    %esp,%ebp
405a2a:	53                   	push   %ebx
405a2b:	56                   	push   %esi
405a2c:	8b 75 08             	mov    0x8(%ebp),%esi
405a2f:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
405a35:	33 db                	xor    %ebx,%ebx
405a37:	57                   	push   %edi
405a38:	3b c3                	cmp    %ebx,%eax
405a3a:	74 6f                	je     0x405aab
405a3c:	3d 38 2e 41 00       	cmp    $0x412e38,%eax
405a41:	74 68                	je     0x405aab
405a43:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
405a49:	3b c3                	cmp    %ebx,%eax
405a4b:	74 5e                	je     0x405aab
405a4d:	39 18                	cmp    %ebx,(%eax)
405a4f:	75 5a                	jne    0x405aab
405a51:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
405a57:	3b c3                	cmp    %ebx,%eax
405a59:	74 17                	je     0x405a72
405a5b:	39 18                	cmp    %ebx,(%eax)
405a5d:	75 13                	jne    0x405a72
405a5f:	50                   	push   %eax
405a60:	e8 06 c5 ff ff       	call   0x401f6b
405a65:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405a6b:	e8 c9 5a 00 00       	call   0x40b539
405a70:	59                   	pop    %ecx
405a71:	59                   	pop    %ecx
405a72:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
405a78:	3b c3                	cmp    %ebx,%eax
405a7a:	74 17                	je     0x405a93
405a7c:	39 18                	cmp    %ebx,(%eax)
405a7e:	75 13                	jne    0x405a93
405a80:	50                   	push   %eax
405a81:	e8 e5 c4 ff ff       	call   0x401f6b
405a86:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405a8c:	e8 3f 5a 00 00       	call   0x40b4d0
405a91:	59                   	pop    %ecx
405a92:	59                   	pop    %ecx
405a93:	ff b6 b0 00 00 00    	push   0xb0(%esi)
405a99:	e8 cd c4 ff ff       	call   0x401f6b
405a9e:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405aa4:	e8 c2 c4 ff ff       	call   0x401f6b
405aa9:	59                   	pop    %ecx
405aaa:	59                   	pop    %ecx
405aab:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
405ab1:	3b c3                	cmp    %ebx,%eax
405ab3:	74 44                	je     0x405af9
405ab5:	39 18                	cmp    %ebx,(%eax)
405ab7:	75 40                	jne    0x405af9
405ab9:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
405abf:	2d fe 00 00 00       	sub    $0xfe,%eax
405ac4:	50                   	push   %eax
405ac5:	e8 a1 c4 ff ff       	call   0x401f6b
405aca:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
405ad0:	bf 80 00 00 00       	mov    $0x80,%edi
405ad5:	2b c7                	sub    %edi,%eax
405ad7:	50                   	push   %eax
405ad8:	e8 8e c4 ff ff       	call   0x401f6b
405add:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
405ae3:	2b c7                	sub    %edi,%eax
405ae5:	50                   	push   %eax
405ae6:	e8 80 c4 ff ff       	call   0x401f6b
405aeb:	ff b6 c0 00 00 00    	push   0xc0(%esi)
405af1:	e8 75 c4 ff ff       	call   0x401f6b
405af6:	83 c4 10             	add    $0x10,%esp
405af9:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
405aff:	3d 28 29 41 00       	cmp    $0x412928,%eax
405b04:	74 1b                	je     0x405b21
405b06:	39 98 b4 00 00 00    	cmp    %ebx,0xb4(%eax)
405b0c:	75 13                	jne    0x405b21
405b0e:	50                   	push   %eax
405b0f:	e8 45 56 00 00       	call   0x40b159
405b14:	ff b6 d4 00 00 00    	push   0xd4(%esi)
405b1a:	e8 4c c4 ff ff       	call   0x401f6b
405b1f:	59                   	pop    %ecx
405b20:	59                   	pop    %ecx
405b21:	8d 7e 50             	lea    0x50(%esi),%edi
405b24:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
405b2b:	81 7f f8 24 29 41 00 	cmpl   $0x412924,-0x8(%edi)
405b32:	74 11                	je     0x405b45
405b34:	8b 07                	mov    (%edi),%eax
405b36:	3b c3                	cmp    %ebx,%eax
405b38:	74 0b                	je     0x405b45
405b3a:	39 18                	cmp    %ebx,(%eax)
405b3c:	75 07                	jne    0x405b45
405b3e:	50                   	push   %eax
405b3f:	e8 27 c4 ff ff       	call   0x401f6b
405b44:	59                   	pop    %ecx
405b45:	39 5f fc             	cmp    %ebx,-0x4(%edi)
405b48:	74 12                	je     0x405b5c
405b4a:	8b 47 04             	mov    0x4(%edi),%eax