401908:	6a 18                	push   $0x18
40190a:	e8 3f 76 00 00       	call   0x408f4e
40190f:	59                   	pop    %ecx
401910:	89 45 0c             	mov    %eax,0xc(%ebp)
401913:	33 db                	xor    %ebx,%ebx
401915:	89 7d fc             	mov    %edi,-0x4(%ebp)
401918:	3b c3                	cmp    %ebx,%eax
40191a:	74 0f                	je     0x40192b
40191c:	8d 4d 13             	lea    0x13(%ebp),%ecx
40191f:	51                   	push   %ecx
401920:	8b c8                	mov    %eax,%ecx
401922:	e8 9a 09 00 00       	call   0x4022c1
401927:	8b f0                	mov    %eax,%esi
401929:	eb 02                	jmp    0x40192d
40192b:	33 f6                	xor    %esi,%esi
40192d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401931:	3b f3                	cmp    %ebx,%esi
401933:	74 33                	je     0x401968
401935:	38 5d 13             	cmp    %bl,0x13(%ebp)
401938:	74 0a                	je     0x401944
40193a:	ff 75 08             	push   0x8(%ebp)
40193d:	8b ce                	mov    %esi,%ecx
40193f:	e8 27 0d 00 00       	call   0x40266b
401944:	8b ce                	mov    %esi,%ecx
401946:	e8 a8 09 00 00       	call   0x4022f3
40194b:	56                   	push   %esi
40194c:	e8 f7 75 00 00       	call   0x408f48
401951:	59                   	pop    %ecx
401952:	eb 14                	jmp    0x401968
401954:	6a 00                	push   $0x0
401956:	eb 09                	jmp    0x401961
401958:	57                   	push   %edi
401959:	eb 06                	jmp    0x401961
40195b:	6a 02                	push   $0x2
40195d:	eb 02                	jmp    0x401961
40195f:	6a 03                	push   $0x3
401961:	8b ce                	mov    %esi,%ecx
401963:	e8 26 60 00 00       	call   0x40798e
401968:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40196b:	5f                   	pop    %edi
40196c:	5e                   	pop    %esi
40196d:	5b                   	pop    %ebx
40196e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401975:	c9                   	leave
401976:	c2 0c 00             	ret    $0xc
401979:	57                   	push   %edi
40197a:	17                   	pop    %ss
40197b:	40                   	inc    %eax
40197c:	00 5e 17             	add    %bl,0x17(%esi)
40197f:	40                   	inc    %eax
401980:	00 62 17             	add    %ah,0x17(%edx)
401983:	40                   	inc    %eax
401984:	00 69 17             	add    %ch,0x17(%ecx)
401987:	40                   	inc    %eax
401988:	00 70 17             	add    %dh,0x17(%eax)
40198b:	40                   	inc    %eax
40198c:	00 8b 17 40 00 dc    	add    %cl,-0x23ffbfe9(%ebx)
401992:	17                   	pop    %ss
401993:	40                   	inc    %eax
401994:	00 f2                	add    %dh,%dl
401996:	17                   	pop    %ss
401997:	40                   	inc    %eax
401998:	00 3c 18             	add    %bh,(%eax,%ebx,1)
40199b:	40                   	inc    %eax
40199c:	00 55 18             	add    %dl,0x18(%ebp)
40199f:	40                   	inc    %eax
4019a0:	00 5a 18             	add    %bl,0x18(%edx)
4019a3:	40                   	inc    %eax
4019a4:	00 60 18             	add    %ah,0x18(%eax)
4019a7:	40                   	inc    %eax
4019a8:	00 66 18             	add    %ah,0x18(%esi)
4019ab:	40                   	inc    %eax
4019ac:	00 6c 18 40          	add    %ch,0x40(%eax,%ebx,1)
4019b0:	00 7b 18             	add    %bh,0x18(%ebx)
4019b3:	40                   	inc    %eax
4019b4:	00 87 18 40 00 95    	add    %al,-0x6affbfe8(%edi)
4019ba:	18 40 00             	sbb    %al,0x0(%eax)
4019bd:	95                   	xchg   %eax,%ebp
4019be:	18 40 00             	sbb    %al,0x0(%eax)
4019c1:	95                   	xchg   %eax,%ebp
4019c2:	18 40 00             	sbb    %al,0x0(%eax)
4019c5:	95                   	xchg   %eax,%ebp
4019c6:	18 40 00             	sbb    %al,0x0(%eax)
4019c9:	a2 18 40 00 af       	mov    %al,0xaf004018
4019ce:	18 40 00             	sbb    %al,0x0(%eax)
4019d1:	bc 18 40 00 08       	mov    $0x8004018,%esp
4019d6:	19 40 00             	sbb    %eax,0x0(%eax)
4019d9:	54                   	push   %esp
4019da:	19 40 00             	sbb    %eax,0x0(%eax)
4019dd:	58                   	pop    %eax
4019de:	19 40 00             	sbb    %eax,0x0(%eax)
4019e1:	5b                   	pop    %ebx
4019e2:	19 40 00             	sbb    %eax,0x0(%eax)
4019e5:	5f                   	pop    %edi
4019e6:	19 40 00             	sbb    %eax,0x0(%eax)
4019e9:	55                   	push   %ebp
4019ea:	8b ec                	mov    %esp,%ebp
4019ec:	81 ec 58 02 00 00    	sub    $0x258,%esp
4019f2:	53                   	push   %ebx
4019f3:	56                   	push   %esi
4019f4:	57                   	push   %edi
4019f5:	8b 7d 10             	mov    0x10(%ebp),%edi
4019f8:	8b f1                	mov    %ecx,%esi
4019fa:	8b 07                	mov    (%edi),%eax
4019fc:	3b 86 ec 01 00 00    	cmp    0x1ec(%esi),%eax
401a02:	0f 85 e6 01 00 00    	jne    0x401bee
401a08:	6a 01                	push   $0x1
401a0a:	6a ff                	push   $0xffffffff
401a0c:	68 0c 10 00 00       	push   $0x100c
401a11:	50                   	push   %eax
401a12:	ff 15 dc a2 40 00    	call   *0x40a2dc
401a18:	83 f8 ff             	cmp    $0xffffffff,%eax
401a1b:	89 45 10             	mov    %eax,0x10(%ebp)
401a1e:	0f 84 18 02 00 00    	je     0x401c3c
401a24:	8b 4f 08             	mov    0x8(%edi),%ecx
401a27:	bb e8 07 00 00       	mov    $0x7e8,%ebx
401a2c:	3b cb                	cmp    %ebx,%ecx
401a2e:	0f 84 84 01 00 00    	je     0x401bb8
401a34:	83 f9 9b             	cmp    $0xffffff9b,%ecx
401a37:	0f 84 2a 01 00 00    	je     0x401b67
401a3d:	83 f9 fb             	cmp    $0xfffffffb,%ecx
401a40:	74 45                	je     0x401a87
401a42:	83 f9 fd             	cmp    $0xfffffffd,%ecx
401a45:	74 0e                	je     0x401a55
401a47:	83 f9 fe             	cmp    $0xfffffffe,%ecx
401a4a:	0f 85 ec 01 00 00    	jne    0x401c3c
401a50:	e9 36 01 00 00       	jmp    0x401b8b
401a55:	8b 8e e8 01 00 00    	mov    0x1e8(%esi),%ecx
401a5b:	50                   	push   %eax
401a5c:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
401a62:	50                   	push   %eax
401a63:	e8 2e 50 00 00       	call   0x406a96
401a68:	83 f8 01             	cmp    $0x1,%eax
401a6b:	0f 85 cb 01 00 00    	jne    0x401c3c
401a71:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
401a77:	8b ce                	mov    %esi,%ecx
401a79:	50                   	push   %eax
401a7a:	ff 75 08             	push   0x8(%ebp)
401a7d:	e8 bd fa ff ff       	call   0x40153f
401a82:	e9 b5 01 00 00       	jmp    0x401c3c
401a87:	33 db                	xor    %ebx,%ebx
401a89:	39 9e fc 01 00 00    	cmp    %ebx,0x1fc(%esi)
401a8f:	75 16                	jne    0x401aa7
401a91:	53                   	push   %ebx
401a92:	ff b6 f8 01 00 00    	push   0x1f8(%esi)
401a98:	ff 15 c8 a2 40 00    	call   *0x40a2c8
401a9e:	89 86 fc 01 00 00    	mov    %eax,0x1fc(%esi)
401aa4:	8b 45 10             	mov    0x10(%ebp),%eax
401aa7:	8b 8e e8 01 00 00    	mov    0x1e8(%esi),%ecx
401aad:	50                   	push   %eax
401aae:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
401ab4:	50                   	push   %eax
401ab5:	e8 dc 4f 00 00       	call   0x406a96
401aba:	83 f8 01             	cmp    $0x1,%eax
401abd:	0f 85 79 01 00 00    	jne    0x401c3c
401ac3:	8d 45 f8             	lea    -0x8(%ebp),%eax
401ac6:	50                   	push   %eax
401ac7:	ff 15 cc a2 40 00    	call   *0x40a2cc
401acd:	ff 75 f0             	push   -0x10(%ebp)
401ad0:	ff b5 a8 fd ff ff    	push   -0x258(%ebp)
401ad6:	e8 8e 71 00 00       	call   0x408c69
401adb:	59                   	pop    %ecx
401adc:	83 e8 20             	sub    $0x20,%eax
401adf:	59                   	pop    %ecx
401ae0:	74 42                	je     0x401b24
401ae2:	83 e8 20             	sub    $0x20,%eax
401ae5:	74 36                	je     0x401b1d
401ae7:	83 e8 40             	sub    $0x40,%eax
401aea:	74 2a                	je     0x401b16
401aec:	2d 80 00 00 00       	sub    $0x80,%eax
401af1:	74 1c                	je     0x401b0f
401af3:	2d 00 3f 00 00       	sub    $0x3f00,%eax
401af8:	74 0e                	je     0x401b08
401afa:	2d 00 40 00 00       	sub    $0x4000,%eax
401aff:	75 23                	jne    0x401b24
401b01:	bf 5d 04 00 00       	mov    $0x45d,%edi
401b06:	eb 21                	jmp    0x401b29
401b08:	bf 5b 04 00 00       	mov    $0x45b,%edi
401b0d:	eb 1a                	jmp    0x401b29
401b0f:	bf 5f 04 00 00       	mov    $0x45f,%edi
401b14:	eb 13                	jmp    0x401b29
401b16:	bf 5e 04 00 00       	mov    $0x45e,%edi
401b1b:	eb 0c                	jmp    0x401b29
401b1d:	bf 5a 04 00 00       	mov    $0x45a,%edi
401b22:	eb 05                	jmp    0x401b29
401b24:	bf 5c 04 00 00       	mov    $0x45c,%edi
401b29:	6a 01                	push   $0x1
401b2b:	57                   	push   %edi
401b2c:	ff b6 fc 01 00 00    	push   0x1fc(%esi)
401b32:	e8 24 73 00 00       	call   0x408e5b
401b37:	83 c4 0c             	add    $0xc,%esp
401b3a:	53                   	push   %ebx
401b3b:	ff 75 08             	push   0x8(%ebp)
401b3e:	53                   	push   %ebx
401b3f:	ff 75 fc             	push   -0x4(%ebp)
401b42:	ff 75 f8             	push   -0x8(%ebp)
401b45:	53                   	push   %ebx
401b46:	ff b6 fc 01 00 00    	push   0x1fc(%esi)
401b4c:	ff 15 d0 a2 40 00    	call   *0x40a2d0
401b52:	53                   	push   %ebx
401b53:	57                   	push   %edi
401b54:	ff b6 fc 01 00 00    	push   0x1fc(%esi)
401b5a:	e8 fc 72 00 00       	call   0x408e5b
401b5f:	83 c4 0c             	add    $0xc,%esp
401b62:	e9 d5 00 00 00       	jmp    0x401c3c
401b67:	83 7f 1c 08          	cmpl   $0x8,0x1c(%edi)
401b6b:	0f 85 cb 00 00 00    	jne    0x401c3c
401b71:	8b 35 d4 a2 40 00    	mov    0x40a2d4,%esi
401b77:	6a 26                	push   $0x26
401b79:	ff d6                	call   *%esi
401b7b:	84 c0                	test   %al,%al
401b7d:	75 0c                	jne    0x401b8b
401b7f:	6a 28                	push   $0x28
401b81:	ff d6                	call   *%esi
401b83:	84 c0                	test   %al,%al
401b85:	0f 84 b1 00 00 00    	je     0x401c3c
401b8b:	68 d8 d4 40 00       	push   $0x40d4d8
401b90:	89 1d e0 d4 40 00    	mov    %ebx,0x40d4e0
401b96:	ff 75 0c             	push   0xc(%ebp)
401b99:	8b 07                	mov    (%edi),%eax
401b9b:	a3 d8 d4 40 00       	mov    %eax,0x40d4d8
401ba0:	8b 47 04             	mov    0x4(%edi),%eax
401ba3:	6a 4e                	push   $0x4e
401ba5:	a3 dc d4 40 00       	mov    %eax,0x40d4dc
401baa:	ff 75 08             	push   0x8(%ebp)
401bad:	ff 15 d8 a2 40 00    	call   *0x40a2d8
401bb3:	e9 84 00 00 00       	jmp    0x401c3c
401bb8:	8b 4e 10             	mov    0x10(%esi),%ecx
401bbb:	49                   	dec    %ecx
401bbc:	74 22                	je     0x401be0
401bbe:	49                   	dec    %ecx
401bbf:	74 11                	je     0x401bd2
401bc1:	49                   	dec    %ecx
401bc2:	75 78                	jne    0x401c3c
401bc4:	8b 8e d4 00 00 00    	mov    0xd4(%esi),%ecx
401bca:	50                   	push   %eax
401bcb:	e8 d9 0c 00 00       	call   0x4028a9
401bd0:	eb 6a                	jmp    0x401c3c
401bd2:	8b 8e d0 00 00 00    	mov    0xd0(%esi),%ecx
401bd8:	50                   	push   %eax
401bd9:	e8 e0 1d 00 00       	call   0x4039be
401bde:	eb 5c                	jmp    0x401c3c
401be0:	8b 8e cc 00 00 00    	mov    0xcc(%esi),%ecx
401be6:	50                   	push   %eax
401be7:	e8 5b 33 00 00       	call   0x404f47
401bec:	eb 4e                	jmp    0x401c3c
401bee:	3b 86 c4 00 00 00    	cmp    0xc4(%esi),%eax
401bf4:	75 46                	jne    0x401c3c
401bf6:	8b 46 10             	mov    0x10(%esi),%eax
401bf9:	48                   	dec    %eax
401bfa:	74 2e                	je     0x401c2a
401bfc:	48                   	dec    %eax
401bfd:	74 17                	je     0x401c16
401bff:	48                   	dec    %eax
401c00:	75 3a                	jne    0x401c3c
401c02:	8b 8e d4 00 00 00    	mov    0xd4(%esi),%ecx
401c08:	57                   	push   %edi
401c09:	ff 75 0c             	push   0xc(%ebp)
401c0c:	ff 75 08             	push   0x8(%ebp)
401c0f:	e8 7d 0b 00 00       	call   0x402791
401c14:	eb 26                	jmp    0x401c3c
401c16:	8b 8e d0 00 00 00    	mov    0xd0(%esi),%ecx
401c1c:	57                   	push   %edi
401c1d:	ff 75 0c             	push   0xc(%ebp)
401c20:	ff 75 08             	push   0x8(%ebp)
401c23:	e8 43 18 00 00       	call   0x40346b
401c28:	eb 12                	jmp    0x401c3c
401c2a:	8b 8e cc 00 00 00    	mov    0xcc(%esi),%ecx
401c30:	57                   	push   %edi
401c31:	ff 75 0c             	push   0xc(%ebp)
401c34:	ff 75 08             	push   0x8(%ebp)
401c37:	e8 d3 2d 00 00       	call   0x404a0f
401c3c:	5f                   	pop    %edi
401c3d:	5e                   	pop    %esi
401c3e:	5b                   	pop    %ebx
401c3f:	c9                   	leave
401c40:	c2 0c 00             	ret    $0xc
401c43:	55                   	push   %ebp
401c44:	8b ec                	mov    %esp,%ebp
401c46:	51                   	push   %ecx
401c47:	51                   	push   %ecx
401c48:	81 7d 0c 04 02 00 00 	cmpl   $0x204,0xc(%ebp)
401c4f:	56                   	push   %esi
401c50:	8b f1                	mov    %ecx,%esi
401c52:	75 66                	jne    0x401cba
401c54:	53                   	push   %ebx
401c55:	33 db                	xor    %ebx,%ebx
401c57:	39 9e bc 00 00 00    	cmp    %ebx,0xbc(%esi)
401c5d:	57                   	push   %edi
401c5e:	75 1e                	jne    0x401c7e
401c60:	6a 15                	push   $0x15
401c62:	53                   	push   %ebx
401c63:	ff 15 f8 a0 40 00    	call   *0x40a0f8
401c69:	50                   	push   %eax
401c6a:	ff 15 c4 a2 40 00    	call   *0x40a2c4
401c70:	53                   	push   %ebx
401c71:	50                   	push   %eax
401c72:	ff 15 c8 a2 40 00    	call   *0x40a2c8
401c78:	89 86 bc 00 00 00    	mov    %eax,0xbc(%esi)
401c7e:	8d 45 f8             	lea    -0x8(%ebp),%eax
401c81:	50                   	push   %eax
401c82:	ff 15 cc a2 40 00    	call   *0x40a2cc
401c88:	53                   	push   %ebx
401c89:	8b 3d d0 a2 40 00    	mov    0x40a2d0,%edi
401c8f:	ff 75 08             	push   0x8(%ebp)
401c92:	53                   	push   %ebx
401c93:	ff 75 fc             	push   -0x4(%ebp)
401c96:	ff 75 f8             	push   -0x8(%ebp)
401c99:	6a 08                	push   $0x8
401c9b:	ff b6 bc 00 00 00    	push   0xbc(%esi)
401ca1:	ff d7                	call   *%edi
401ca3:	53                   	push   %ebx
401ca4:	ff 75 08             	push   0x8(%ebp)
401ca7:	53                   	push   %ebx
401ca8:	ff 75 fc             	push   -0x4(%ebp)
401cab:	ff 75 f8             	push   -0x8(%ebp)
401cae:	6a 08                	push   $0x8
401cb0:	ff b6 bc 00 00 00    	push   0xbc(%esi)
401cb6:	ff d7                	call   *%edi
401cb8:	5f                   	pop    %edi
401cb9:	5b                   	pop    %ebx
401cba:	81 7d 0c 01 02 00 00 	cmpl   $0x201,0xc(%ebp)
401cc1:	5e                   	pop    %esi
401cc2:	75 14                	jne    0x401cd8
401cc4:	6a 09                	push   $0x9
401cc6:	ff 75 08             	push   0x8(%ebp)
401cc9:	ff 15 e8 a1 40 00    	call   *0x40a1e8
401ccf:	ff 75 08             	push   0x8(%ebp)
401cd2:	ff 15 e0 a2 40 00    	call   *0x40a2e0
401cd8:	c9                   	leave
401cd9:	c2 0c 00             	ret    $0xc
401cdc:	55                   	push   %ebp
401cdd:	8b ec                	mov    %esp,%ebp
401cdf:	81 ec 90 00 00 00    	sub    $0x90,%esp
401ce5:	81 7d 0c 2c 01 00 00 	cmpl   $0x12c,0xc(%ebp)
401cec:	53                   	push   %ebx
401ced:	56                   	push   %esi
401cee:	8b d9                	mov    %ecx,%ebx
401cf0:	75 1e                	jne    0x401d10
401cf2:	80 3d b8 d7 40 00 01 	cmpb   $0x1,0x40d7b8
401cf9:	0f 85 ce 00 00 00    	jne    0x401dcd
401cff:	8b 8b e8 01 00 00    	mov    0x1e8(%ebx),%ecx
401d05:	53                   	push   %ebx
401d06:	e8 cd 44 00 00       	call   0x4061d8
401d0b:	e9 bd 00 00 00       	jmp    0x401dcd
401d10:	81 7d 0c 2d 01 00 00 	cmpl   $0x12d,0xc(%ebp)
401d17:	0f 85 b0 00 00 00    	jne    0x401dcd
401d1d:	6a 28                	push   $0x28
401d1f:	33 f6                	xor    %esi,%esi
401d21:	ff b3 b0 00 00 00    	push   0xb0(%ebx)