4018bf:	8b ec                	mov    %esp,%ebp
4018c1:	83 3d 7c d9 41 00 00 	cmpl   $0x0,0x41d97c
4018c8:	74 19                	je     0x4018e3
4018ca:	68 7c d9 41 00       	push   $0x41d97c
4018cf:	e8 8c 25 00 00       	call   0x403e60
4018d4:	59                   	pop    %ecx
4018d5:	85 c0                	test   %eax,%eax
4018d7:	74 0a                	je     0x4018e3
4018d9:	ff 75 08             	push   0x8(%ebp)
4018dc:	ff 15 7c d9 41 00    	call   *0x41d97c
4018e2:	59                   	pop    %ecx
4018e3:	e8 bd 24 00 00       	call   0x403da5
4018e8:	68 50 d1 41 00       	push   $0x41d150
4018ed:	68 38 d1 41 00       	push   $0x41d138
4018f2:	e8 a1 ff ff ff       	call   0x401898
4018f7:	59                   	pop    %ecx
4018f8:	59                   	pop    %ecx
4018f9:	85 c0                	test   %eax,%eax
4018fb:	75 42                	jne    0x40193f
4018fd:	68 8d 25 40 00       	push   $0x40258d
401902:	e8 87 24 00 00       	call   0x403d8e
401907:	b8 30 d1 41 00       	mov    $0x41d130,%eax
40190c:	c7 04 24 34 d1 41 00 	movl   $0x41d134,(%esp)
401913:	e8 63 ff ff ff       	call   0x40187b
401918:	83 3d b0 2e de 02 00 	cmpl   $0x0,0x2de2eb0
40191f:	59                   	pop    %ecx
401920:	74 1b                	je     0x40193d
401922:	68 b0 2e de 02       	push   $0x2de2eb0
401927:	e8 34 25 00 00       	call   0x403e60
40192c:	59                   	pop    %ecx
40192d:	85 c0                	test   %eax,%eax
40192f:	74 0c                	je     0x40193d
401931:	6a 00                	push   $0x0
401933:	6a 02                	push   $0x2
401935:	6a 00                	push   $0x0
401937:	ff 15 b0 2e de 02    	call   *0x2de2eb0
40193d:	33 c0                	xor    %eax,%eax
40193f:	5d                   	pop    %ebp
401940:	c3                   	ret
401941:	6a 18                	push   $0x18
401943:	68 18 e6 41 00       	push   $0x41e618
401948:	e8 33 12 00 00       	call   0x402b80
40194d:	6a 08                	push   $0x8
40194f:	e8 83 21 00 00       	call   0x403ad7
401954:	59                   	pop    %ecx
401955:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401959:	33 db                	xor    %ebx,%ebx
40195b:	43                   	inc    %ebx
40195c:	39 1d e8 09 43 00    	cmp    %ebx,0x4309e8
401962:	0f 84 c5 00 00 00    	je     0x401a2d
401968:	89 1d e4 09 43 00    	mov    %ebx,0x4309e4
40196e:	8a 45 10             	mov    0x10(%ebp),%al
401971:	a2 e0 09 43 00       	mov    %al,0x4309e0
401976:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40197a:	0f 85 9d 00 00 00    	jne    0x401a1d
401980:	ff 35 a8 2e de 02    	push   0x2de2ea8
401986:	e8 a3 0c 00 00       	call   0x40262e
40198b:	59                   	pop    %ecx
40198c:	8b f8                	mov    %eax,%edi
40198e:	89 7d d8             	mov    %edi,-0x28(%ebp)
401991:	85 ff                	test   %edi,%edi
401993:	74 78                	je     0x401a0d
401995:	ff 35 a4 2e de 02    	push   0x2de2ea4
40199b:	e8 8e 0c 00 00       	call   0x40262e
4019a0:	59                   	pop    %ecx
4019a1:	8b f0                	mov    %eax,%esi
4019a3:	89 75 dc             	mov    %esi,-0x24(%ebp)
4019a6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4019a9:	89 75 e0             	mov    %esi,-0x20(%ebp)
4019ac:	83 ee 04             	sub    $0x4,%esi
4019af:	89 75 dc             	mov    %esi,-0x24(%ebp)
4019b2:	3b f7                	cmp    %edi,%esi
4019b4:	72 57                	jb     0x401a0d
4019b6:	e8 6a 0c 00 00       	call   0x402625
4019bb:	39 06                	cmp    %eax,(%esi)
4019bd:	74 ed                	je     0x4019ac
4019bf:	3b f7                	cmp    %edi,%esi
4019c1:	72 4a                	jb     0x401a0d
4019c3:	ff 36                	push   (%esi)
4019c5:	e8 64 0c 00 00       	call   0x40262e
4019ca:	8b f8                	mov    %eax,%edi
4019cc:	e8 54 0c 00 00       	call   0x402625
4019d1:	89 06                	mov    %eax,(%esi)
4019d3:	ff d7                	call   *%edi
4019d5:	ff 35 a8 2e de 02    	push   0x2de2ea8
4019db:	e8 4e 0c 00 00       	call   0x40262e
4019e0:	8b f8                	mov    %eax,%edi
4019e2:	ff 35 a4 2e de 02    	push   0x2de2ea4
4019e8:	e8 41 0c 00 00       	call   0x40262e
4019ed:	83 c4 0c             	add    $0xc,%esp
4019f0:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
4019f3:	75 05                	jne    0x4019fa
4019f5:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4019f8:	74 0e                	je     0x401a08
4019fa:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4019fd:	89 7d d8             	mov    %edi,-0x28(%ebp)
401a00:	89 45 e0             	mov    %eax,-0x20(%ebp)
401a03:	8b f0                	mov    %eax,%esi
401a05:	89 75 dc             	mov    %esi,-0x24(%ebp)
401a08:	8b 7d d8             	mov    -0x28(%ebp),%edi
401a0b:	eb 9f                	jmp    0x4019ac
401a0d:	68 60 d1 41 00       	push   $0x41d160
401a12:	b8 5c d1 41 00       	mov    $0x41d15c,%eax
401a17:	e8 5f fe ff ff       	call   0x40187b
401a1c:	59                   	pop    %ecx
401a1d:	68 68 d1 41 00       	push   $0x41d168
401a22:	b8 64 d1 41 00       	mov    $0x41d164,%eax
401a27:	e8 4f fe ff ff       	call   0x40187b
401a2c:	59                   	pop    %ecx
401a2d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401a34:	e8 1f 00 00 00       	call   0x401a58
401a39:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
401a3d:	75 28                	jne    0x401a67
401a3f:	89 1d e8 09 43 00    	mov    %ebx,0x4309e8
401a45:	6a 08                	push   $0x8
401a47:	e8 b1 1f 00 00       	call   0x4039fd
401a4c:	59                   	pop    %ecx
401a4d:	ff 75 08             	push   0x8(%ebp)
401a50:	e8 fc fd ff ff       	call   0x401851
401a55:	33 db                	xor    %ebx,%ebx
401a57:	43                   	inc    %ebx
401a58:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
401a5c:	74 08                	je     0x401a66
401a5e:	6a 08                	push   $0x8
401a60:	e8 98 1f 00 00       	call   0x4039fd
401a65:	59                   	pop    %ecx
401a66:	c3                   	ret
401a67:	e8 59 11 00 00       	call   0x402bc5
401a6c:	c3                   	ret
401a6d:	8b ff                	mov    %edi,%edi
401a6f:	55                   	push   %ebp
401a70:	8b ec                	mov    %esp,%ebp
401a72:	6a 00                	push   $0x0
401a74:	6a 00                	push   $0x0
401a76:	ff 75 08             	push   0x8(%ebp)
401a79:	e8 c3 fe ff ff       	call   0x401941
401a7e:	83 c4 0c             	add    $0xc,%esp
401a81:	5d                   	pop    %ebp
401a82:	c3                   	ret
401a83:	8b ff                	mov    %edi,%edi
401a85:	55                   	push   %ebp
401a86:	8b ec                	mov    %esp,%ebp
401a88:	6a 00                	push   $0x0
401a8a:	6a 01                	push   $0x1
401a8c:	ff 75 08             	push   0x8(%ebp)
401a8f:	e8 ad fe ff ff       	call   0x401941
401a94:	83 c4 0c             	add    $0xc,%esp
401a97:	5d                   	pop    %ebp
401a98:	c3                   	ret
401a99:	6a 01                	push   $0x1
401a9b:	6a 00                	push   $0x0
401a9d:	6a 00                	push   $0x0
401a9f:	e8 9d fe ff ff       	call   0x401941
401aa4:	83 c4 0c             	add    $0xc,%esp
401aa7:	c3                   	ret
401aa8:	6a 01                	push   $0x1
401aaa:	6a 01                	push   $0x1
401aac:	6a 00                	push   $0x0
401aae:	e8 8e fe ff ff       	call   0x401941
401ab3:	83 c4 0c             	add    $0xc,%esp
401ab6:	c3                   	ret
401ab7:	8b ff                	mov    %edi,%edi
401ab9:	56                   	push   %esi
401aba:	e8 66 0b 00 00       	call   0x402625
401abf:	8b f0                	mov    %eax,%esi
401ac1:	56                   	push   %esi
401ac2:	e8 f5 26 00 00       	call   0x4041bc
401ac7:	56                   	push   %esi
401ac8:	e8 80 26 00 00       	call   0x40414d
401acd:	56                   	push   %esi
401ace:	e8 37 20 00 00       	call   0x403b0a
401ad3:	56                   	push   %esi
401ad4:	e8 65 26 00 00       	call   0x40413e
401ad9:	56                   	push   %esi
401ada:	e8 50 26 00 00       	call   0x40412f
401adf:	56                   	push   %esi
401ae0:	e8 38 24 00 00       	call   0x403f1d
401ae5:	56                   	push   %esi
401ae6:	e8 fe 01 00 00       	call   0x401ce9
401aeb:	56                   	push   %esi
401aec:	e8 59 1e 00 00       	call   0x40394a
401af1:	68 83 1a 40 00       	push   $0x401a83
401af6:	e8 b8 0a 00 00       	call   0x4025b3
401afb:	83 c4 24             	add    $0x24,%esp
401afe:	a3 10 f0 41 00       	mov    %eax,0x41f010
401b03:	5e                   	pop    %esi
401b04:	c3                   	ret
401b05:	8b ff                	mov    %edi,%edi
401b07:	55                   	push   %ebp
401b08:	8b ec                	mov    %esp,%ebp
401b0a:	51                   	push   %ecx
401b0b:	51                   	push   %ecx
401b0c:	53                   	push   %ebx
401b0d:	8b 5d 08             	mov    0x8(%ebp),%ebx
401b10:	56                   	push   %esi
401b11:	57                   	push   %edi
401b12:	33 f6                	xor    %esi,%esi
401b14:	33 ff                	xor    %edi,%edi
401b16:	89 7d fc             	mov    %edi,-0x4(%ebp)
401b19:	3b 1c fd 18 f0 41 00 	cmp    0x41f018(,%edi,8),%ebx
401b20:	74 09                	je     0x401b2b
401b22:	47                   	inc    %edi
401b23:	89 7d fc             	mov    %edi,-0x4(%ebp)
401b26:	83 ff 17             	cmp    $0x17,%edi
401b29:	72 ee                	jb     0x401b19
401b2b:	83 ff 17             	cmp    $0x17,%edi
401b2e:	0f 83 77 01 00 00    	jae    0x401cab
401b34:	6a 03                	push   $0x3
401b36:	e8 48 2a 00 00       	call   0x404583
401b3b:	59                   	pop    %ecx
401b3c:	83 f8 01             	cmp    $0x1,%eax
401b3f:	0f 84 34 01 00 00    	je     0x401c79
401b45:	6a 03                	push   $0x3
401b47:	e8 37 2a 00 00       	call   0x404583
401b4c:	59                   	pop    %ecx
401b4d:	85 c0                	test   %eax,%eax
401b4f:	75 0d                	jne    0x401b5e
401b51:	83 3d 00 f0 41 00 01 	cmpl   $0x1,0x41f000
401b58:	0f 84 1b 01 00 00    	je     0x401c79
401b5e:	81 fb fc 00 00 00    	cmp    $0xfc,%ebx
401b64:	0f 84 41 01 00 00    	je     0x401cab
401b6a:	68 78 d8 41 00       	push   $0x41d878
401b6f:	bb 14 03 00 00       	mov    $0x314,%ebx
401b74:	53                   	push   %ebx
401b75:	bf f0 09 43 00       	mov    $0x4309f0,%edi
401b7a:	57                   	push   %edi
401b7b:	e8 9b 29 00 00       	call   0x40451b
401b80:	83 c4 0c             	add    $0xc,%esp
401b83:	85 c0                	test   %eax,%eax
401b85:	74 0d                	je     0x401b94
401b87:	56                   	push   %esi
401b88:	56                   	push   %esi
401b89:	56                   	push   %esi
401b8a:	56                   	push   %esi
401b8b:	56                   	push   %esi
401b8c:	e8 88 1f 00 00       	call   0x403b19
401b91:	83 c4 14             	add    $0x14,%esp
401b94:	68 04 01 00 00       	push   $0x104
401b99:	be 09 0a 43 00       	mov    $0x430a09,%esi
401b9e:	56                   	push   %esi
401b9f:	6a 00                	push   $0x0
401ba1:	c6 05 0d 0b 43 00 00 	movb   $0x0,0x430b0d
401ba8:	ff 15 88 d0 41 00    	call   *0x41d088
401bae:	85 c0                	test   %eax,%eax
401bb0:	75 26                	jne    0x401bd8
401bb2:	68 60 d8 41 00       	push   $0x41d860
401bb7:	68 fb 02 00 00       	push   $0x2fb
401bbc:	56                   	push   %esi
401bbd:	e8 59 29 00 00       	call   0x40451b
401bc2:	83 c4 0c             	add    $0xc,%esp
401bc5:	85 c0                	test   %eax,%eax
401bc7:	74 0f                	je     0x401bd8
401bc9:	33 c0                	xor    %eax,%eax
401bcb:	50                   	push   %eax
401bcc:	50                   	push   %eax
401bcd:	50                   	push   %eax
401bce:	50                   	push   %eax
401bcf:	50                   	push   %eax
401bd0:	e8 44 1f 00 00       	call   0x403b19
401bd5:	83 c4 14             	add    $0x14,%esp
401bd8:	56                   	push   %esi
401bd9:	e8 b2 28 00 00       	call   0x404490
401bde:	40                   	inc    %eax
401bdf:	59                   	pop    %ecx
401be0:	83 f8 3c             	cmp    $0x3c,%eax
401be3:	76 38                	jbe    0x401c1d
401be5:	56                   	push   %esi
401be6:	e8 a5 28 00 00       	call   0x404490
401beb:	83 ee 3b             	sub    $0x3b,%esi
401bee:	03 c6                	add    %esi,%eax
401bf0:	6a 03                	push   $0x3
401bf2:	b9 04 0d 43 00       	mov    $0x430d04,%ecx
401bf7:	68 5c d8 41 00       	push   $0x41d85c
401bfc:	2b c8                	sub    %eax,%ecx
401bfe:	51                   	push   %ecx
401bff:	50                   	push   %eax
401c00:	e8 cb 27 00 00       	call   0x4043d0
401c05:	83 c4 14             	add    $0x14,%esp
401c08:	85 c0                	test   %eax,%eax
401c0a:	74 11                	je     0x401c1d
401c0c:	33 f6                	xor    %esi,%esi
401c0e:	56                   	push   %esi
401c0f:	56                   	push   %esi
401c10:	56                   	push   %esi
401c11:	56                   	push   %esi
401c12:	56                   	push   %esi
401c13:	e8 01 1f 00 00       	call   0x403b19
401c18:	83 c4 14             	add    $0x14,%esp
401c1b:	eb 02                	jmp    0x401c1f
401c1d:	33 f6                	xor    %esi,%esi
401c1f:	68 58 d8 41 00       	push   $0x41d858
401c24:	53                   	push   %ebx
401c25:	57                   	push   %edi
401c26:	e8 31 27 00 00       	call   0x40435c
401c2b:	83 c4 0c             	add    $0xc,%esp
401c2e:	85 c0                	test   %eax,%eax
401c30:	74 0d                	je     0x401c3f
401c32:	56                   	push   %esi
401c33:	56                   	push   %esi
401c34:	56                   	push   %esi
401c35:	56                   	push   %esi
401c36:	56                   	push   %esi
401c37:	e8 dd 1e 00 00       	call   0x403b19
401c3c:	83 c4 14             	add    $0x14,%esp
401c3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
401c42:	ff 34 c5 1c f0 41 00 	push   0x41f01c(,%eax,8)
401c49:	53                   	push   %ebx
401c4a:	57                   	push   %edi
401c4b:	e8 0c 27 00 00       	call   0x40435c
401c50:	83 c4 0c             	add    $0xc,%esp
401c53:	85 c0                	test   %eax,%eax
401c55:	74 0d                	je     0x401c64
401c57:	56                   	push   %esi
401c58:	56                   	push   %esi
401c59:	56                   	push   %esi
401c5a:	56                   	push   %esi
401c5b:	56                   	push   %esi
401c5c:	e8 b8 1e 00 00       	call   0x403b19
401c61:	83 c4 14             	add    $0x14,%esp
401c64:	68 10 20 01 00       	push   $0x12010
401c69:	68 30 d8 41 00       	push   $0x41d830
401c6e:	57                   	push   %edi
401c6f:	e8 7f 25 00 00       	call   0x4041f3
401c74:	83 c4 0c             	add    $0xc,%esp
401c77:	eb 32                	jmp    0x401cab
401c79:	6a f4                	push   $0xfffffff4
401c7b:	ff 15 84 d0 41 00    	call   *0x41d084
401c81:	8b d8                	mov    %eax,%ebx
401c83:	3b de                	cmp    %esi,%ebx
401c85:	74 24                	je     0x401cab
401c87:	83 fb ff             	cmp    $0xffffffff,%ebx
401c8a:	74 1f                	je     0x401cab
401c8c:	6a 00                	push   $0x0
401c8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
401c91:	50                   	push   %eax
401c92:	8d 34 fd 1c f0 41 00 	lea    0x41f01c(,%edi,8),%esi
401c99:	ff 36                	push   (%esi)
401c9b:	e8 f0 27 00 00       	call   0x404490
401ca0:	59                   	pop    %ecx
401ca1:	50                   	push   %eax
401ca2:	ff 36                	push   (%esi)
401ca4:	53                   	push   %ebx
401ca5:	ff 15 10 d0 41 00    	call   *0x41d010
401cab:	5f                   	pop    %edi
401cac:	5e                   	pop    %esi
401cad:	5b                   	pop    %ebx
401cae:	c9                   	leave
401caf:	c3                   	ret
401cb0:	6a 03                	push   $0x3
401cb2:	e8 cc 28 00 00       	call   0x404583