401869:	6a 1b                	push   $0x1b
40186b:	ff d6                	call   *%esi
40186d:	57                   	push   %edi
40186e:	6a 02                	push   $0x2
401870:	57                   	push   %edi
401871:	6a 1b                	push   $0x1b
401873:	ff d6                	call   *%esi
401875:	57                   	push   %edi
401876:	6a 02                	push   $0x2
401878:	57                   	push   %edi
401879:	6a 5b                	push   $0x5b
40187b:	ff d6                	call   *%esi
40187d:	5f                   	pop    %edi
40187e:	5e                   	pop    %esi
40187f:	c3                   	ret
401880:	55                   	push   %ebp
401881:	8b ec                	mov    %esp,%ebp
401883:	56                   	push   %esi
401884:	33 f6                	xor    %esi,%esi
401886:	39 35 28 a5 42 00    	cmp    %esi,0x42a528
40188c:	74 05                	je     0x401893
40188e:	e8 c9 ff ff ff       	call   0x40185c
401893:	8b 45 0c             	mov    0xc(%ebp),%eax
401896:	48                   	dec    %eax
401897:	74 3b                	je     0x4018d4
401899:	48                   	dec    %eax
40189a:	74 2f                	je     0x4018cb
40189c:	83 e8 0e             	sub    $0xe,%eax
40189f:	74 1f                	je     0x4018c0
4018a1:	2d 03 01 00 00       	sub    $0x103,%eax
4018a6:	74 08                	je     0x4018b0
4018a8:	5e                   	pop    %esi
4018a9:	5d                   	pop    %ebp
4018aa:	ff 25 58 41 40 00    	jmp    *0x404158
4018b0:	6a 01                	push   $0x1
4018b2:	ff 75 08             	push   0x8(%ebp)
4018b5:	ff 15 4c 41 40 00    	call   *0x40414c
4018bb:	e8 9c ff ff ff       	call   0x40185c
4018c0:	ff 75 08             	push   0x8(%ebp)
4018c3:	ff 15 34 41 40 00    	call   *0x404134
4018c9:	eb 30                	jmp    0x4018fb
4018cb:	56                   	push   %esi
4018cc:	ff 15 48 41 40 00    	call   *0x404148
4018d2:	eb 27                	jmp    0x4018fb
4018d4:	56                   	push   %esi
4018d5:	68 b8 0b 00 00       	push   $0xbb8
4018da:	6a 01                	push   $0x1
4018dc:	ff 75 08             	push   0x8(%ebp)
4018df:	ff 15 40 41 40 00    	call   *0x404140
4018e5:	6a 01                	push   $0x1
4018e7:	ff 75 08             	push   0x8(%ebp)
4018ea:	ff 15 5c 41 40 00    	call   *0x40415c
4018f0:	56                   	push   %esi
4018f1:	56                   	push   %esi
4018f2:	56                   	push   %esi
4018f3:	6a 5b                	push   $0x5b
4018f5:	ff 15 38 41 40 00    	call   *0x404138
4018fb:	33 c0                	xor    %eax,%eax
4018fd:	5e                   	pop    %esi
4018fe:	5d                   	pop    %ebp
4018ff:	c2 10 00             	ret    $0x10
401902:	55                   	push   %ebp
401903:	8b ec                	mov    %esp,%ebp
401905:	83 ec 58             	sub    $0x58,%esp
401908:	53                   	push   %ebx
401909:	56                   	push   %esi
40190a:	57                   	push   %edi
40190b:	6a 2c                	push   $0x2c
40190d:	33 f6                	xor    %esi,%esi
40190f:	8d 45 ac             	lea    -0x54(%ebp),%eax
401912:	56                   	push   %esi
401913:	50                   	push   %eax
401914:	c7 45 a8 30 00 00 00 	movl   $0x30,-0x58(%ebp)
40191b:	e8 bc 17 00 00       	call   0x4030dc
401920:	83 c4 0c             	add    $0xc,%esp
401923:	6a 06                	push   $0x6
401925:	59                   	pop    %ecx
401926:	33 c0                	xor    %eax,%eax
401928:	89 75 d8             	mov    %esi,-0x28(%ebp)
40192b:	8d 7d dc             	lea    -0x24(%ebp),%edi
40192e:	f3 ab                	rep stos %eax,%es:(%edi)
401930:	33 ff                	xor    %edi,%edi
401932:	47                   	inc    %edi
401933:	c7 45 fc 00 10 00 00 	movl   $0x1000,-0x4(%ebp)
40193a:	89 7d f8             	mov    %edi,-0x8(%ebp)
40193d:	e8 b6 04 00 00       	call   0x401df8
401942:	85 c0                	test   %eax,%eax
401944:	74 07                	je     0x40194d
401946:	33 c0                	xor    %eax,%eax
401948:	e9 79 01 00 00       	jmp    0x401ac6
40194d:	e8 b2 fb ff ff       	call   0x401504
401952:	85 c0                	test   %eax,%eax
401954:	74 f0                	je     0x401946
401956:	6a 40                	push   $0x40
401958:	68 00 30 10 00       	push   $0x103000
40195d:	8d 45 fc             	lea    -0x4(%ebp),%eax
401960:	50                   	push   %eax
401961:	56                   	push   %esi
401962:	8d 45 f8             	lea    -0x8(%ebp),%eax
401965:	50                   	push   %eax
401966:	6a ff                	push   $0xffffffff
401968:	ff 15 24 a5 42 00    	call   *0x42a524
40196e:	85 c0                	test   %eax,%eax
401970:	75 d4                	jne    0x401946
401972:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401978:	8b 40 40             	mov    0x40(%eax),%eax
40197b:	3b c6                	cmp    %esi,%eax
40197d:	74 c7                	je     0x401946
40197f:	a3 08 00 00 00       	mov    %eax,0x8
401984:	66 a1 1c a5 42 00    	mov    0x42a51c,%ax
40198a:	c6 05 16 00 00 00 04 	movb   $0x4,0x16
401991:	c7 05 60 00 00 00 eb 	movl   $0x4017eb,0x60
401998:	17 40 00
40199b:	c7 05 6c 00 00 00 00 	movl   $0x400,0x6c
4019a2:	04 00 00
4019a5:	89 3d 04 04 00 00    	mov    %edi,0x404
4019ab:	8b 3d 80 40 40 00    	mov    0x404080,%edi
4019b1:	c7 05 08 04 00 00 00 	movl   $0x800,0x408
4019b8:	08 00 00
4019bb:	66 a3 0c 04 00 00    	mov    %ax,0x40c
4019c1:	c6 05 0e 04 00 00 01 	movb   $0x1,0x40e
4019c8:	56                   	push   %esi
4019c9:	c7 45 b0 80 18 40 00 	movl   $0x401880,-0x50(%ebp)
4019d0:	ff d7                	call   *%edi
4019d2:	6a 08                	push   $0x8
4019d4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4019d7:	58                   	pop    %eax
4019d8:	e8 f9 16 00 00       	call   0x4030d6
4019dd:	8b dc                	mov    %esp,%ebx
4019df:	3b de                	cmp    %esi,%ebx
4019e1:	74 10                	je     0x4019f3
4019e3:	6a 7f                	push   $0x7f
4019e5:	6a 05                	push   $0x5
4019e7:	8b c3                	mov    %ebx,%eax
4019e9:	ba 14 5e 40 00       	mov    $0x405e14,%edx
4019ee:	e8 6a 0f 00 00       	call   0x40295d
4019f3:	6a 08                	push   $0x8
4019f5:	58                   	pop    %eax
4019f6:	e8 db 16 00 00       	call   0x4030d6
4019fb:	8b c4                	mov    %esp,%eax
4019fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
401a00:	3b c6                	cmp    %esi,%eax
401a02:	74 11                	je     0x401a15
401a04:	68 91 00 00 00       	push   $0x91
401a09:	6a 06                	push   $0x6
401a0b:	ba 1c 5e 40 00       	mov    $0x405e1c,%edx
401a10:	e8 48 0f 00 00       	call   0x40295d
401a15:	8d 45 a8             	lea    -0x58(%ebp),%eax
401a18:	50                   	push   %eax
401a19:	89 5d d0             	mov    %ebx,-0x30(%ebp)
401a1c:	ff 15 44 41 40 00    	call   *0x404144
401a22:	66 85 c0             	test   %ax,%ax
401a25:	0f 84 1b ff ff ff    	je     0x401946
401a2b:	56                   	push   %esi
401a2c:	56                   	push   %esi
401a2d:	ff d7                	call   *%edi
401a2f:	50                   	push   %eax
401a30:	56                   	push   %esi
401a31:	56                   	push   %esi
401a32:	6a 64                	push   $0x64
401a34:	68 c8 00 00 00       	push   $0xc8
401a39:	b8 00 00 00 80       	mov    $0x80000000,%eax
401a3e:	50                   	push   %eax
401a3f:	50                   	push   %eax
401a40:	68 00 00 cf 00       	push   $0xcf0000
401a45:	ff 75 f4             	push   -0xc(%ebp)
401a48:	53                   	push   %ebx
401a49:	68 00 02 00 00       	push   $0x200
401a4e:	ff 15 54 41 40 00    	call   *0x404154
401a54:	8b d8                	mov    %eax,%ebx
401a56:	3b de                	cmp    %esi,%ebx
401a58:	0f 84 e8 fe ff ff    	je     0x401946
401a5e:	56                   	push   %esi
401a5f:	53                   	push   %ebx
401a60:	ff 15 68 41 40 00    	call   *0x404168
401a66:	53                   	push   %ebx
401a67:	ff 15 64 41 40 00    	call   *0x404164
401a6d:	8b 3d 3c 41 40 00    	mov    0x40413c,%edi
401a73:	eb 3f                	jmp    0x401ab4
401a75:	81 7d dc 18 01 00 00 	cmpl   $0x118,-0x24(%ebp)
401a7c:	75 22                	jne    0x401aa0
401a7e:	39 35 18 a5 42 00    	cmp    %esi,0x42a518
401a84:	75 05                	jne    0x401a8b
401a86:	89 75 d8             	mov    %esi,-0x28(%ebp)
401a89:	eb 15                	jmp    0x401aa0
401a8b:	89 5d d8             	mov    %ebx,-0x28(%ebp)
401a8e:	39 35 28 a5 42 00    	cmp    %esi,0x42a528
401a94:	75 0a                	jne    0x401aa0
401a96:	c7 05 28 a5 42 00 01 	movl   $0x1,0x42a528
401a9d:	00 00 00
401aa0:	8d 45 d8             	lea    -0x28(%ebp),%eax
401aa3:	50                   	push   %eax
401aa4:	ff 15 50 41 40 00    	call   *0x404150
401aaa:	8d 45 d8             	lea    -0x28(%ebp),%eax
401aad:	50                   	push   %eax
401aae:	ff 15 60 41 40 00    	call   *0x404160
401ab4:	56                   	push   %esi
401ab5:	56                   	push   %esi
401ab6:	56                   	push   %esi
401ab7:	8d 45 d8             	lea    -0x28(%ebp),%eax
401aba:	50                   	push   %eax
401abb:	ff d7                	call   *%edi
401abd:	85 c0                	test   %eax,%eax
401abf:	75 b4                	jne    0x401a75
401ac1:	a1 28 a5 42 00       	mov    0x42a528,%eax
401ac6:	8d 65 9c             	lea    -0x64(%ebp),%esp
401ac9:	5f                   	pop    %edi
401aca:	5e                   	pop    %esi
401acb:	5b                   	pop    %ebx
401acc:	c9                   	leave
401acd:	c3                   	ret
401ace:	55                   	push   %ebp
401acf:	8b ec                	mov    %esp,%ebp
401ad1:	8b 45 0c             	mov    0xc(%ebp),%eax
401ad4:	53                   	push   %ebx
401ad5:	57                   	push   %edi
401ad6:	33 db                	xor    %ebx,%ebx
401ad8:	33 ff                	xor    %edi,%edi
401ada:	3b c3                	cmp    %ebx,%eax
401adc:	74 27                	je     0x401b05
401ade:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
401ae3:	8b cf                	mov    %edi,%ecx
401ae5:	33 d2                	xor    %edx,%edx
401ae7:	66 39 18             	cmp    %bx,(%eax)
401aea:	74 06                	je     0x401af2
401aec:	83 c0 02             	add    $0x2,%eax
401aef:	49                   	dec    %ecx
401af0:	75 f5                	jne    0x401ae7
401af2:	3b cb                	cmp    %ebx,%ecx
401af4:	75 0b                	jne    0x401b01
401af6:	ba 57 00 07 80       	mov    $0x80070057,%edx
401afb:	33 ff                	xor    %edi,%edi
401afd:	8b c2                	mov    %edx,%eax
401aff:	eb 09                	jmp    0x401b0a
401b01:	2b f9                	sub    %ecx,%edi
401b03:	eb f8                	jmp    0x401afd
401b05:	b8 57 00 07 80       	mov    $0x80070057,%eax
401b0a:	3b c3                	cmp    %ebx,%eax
401b0c:	7d 04                	jge    0x401b12
401b0e:	33 ff                	xor    %edi,%edi
401b10:	3b c3                	cmp    %ebx,%eax
401b12:	75 27                	jne    0x401b3b
401b14:	56                   	push   %esi
401b15:	8b 35 28 41 40 00    	mov    0x404128,%esi
401b1b:	57                   	push   %edi
401b1c:	ff 75 08             	push   0x8(%ebp)
401b1f:	ff 75 0c             	push   0xc(%ebp)
401b22:	ff d6                	call   *%esi
401b24:	85 c0                	test   %eax,%eax
401b26:	74 12                	je     0x401b3a
401b28:	57                   	push   %edi
401b29:	68 a8 45 40 00       	push   $0x4045a8
401b2e:	50                   	push   %eax
401b2f:	ff d6                	call   *%esi
401b31:	85 c0                	test   %eax,%eax
401b33:	74 03                	je     0x401b38
401b35:	83 c0 02             	add    $0x2,%eax
401b38:	8b d8                	mov    %eax,%ebx
401b3a:	5e                   	pop    %esi
401b3b:	5f                   	pop    %edi
401b3c:	8b c3                	mov    %ebx,%eax
401b3e:	5b                   	pop    %ebx
401b3f:	5d                   	pop    %ebp
401b40:	c2 08 00             	ret    $0x8
401b43:	55                   	push   %ebp
401b44:	8b ec                	mov    %esp,%ebp
401b46:	81 ec 24 04 00 00    	sub    $0x424,%esp
401b4c:	53                   	push   %ebx
401b4d:	56                   	push   %esi
401b4e:	57                   	push   %edi
401b4f:	33 db                	xor    %ebx,%ebx
401b51:	6a 3c                	push   $0x3c
401b53:	8b f0                	mov    %eax,%esi
401b55:	53                   	push   %ebx
401b56:	56                   	push   %esi
401b57:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401b5a:	e8 7d 15 00 00       	call   0x4030dc
401b5f:	83 c4 0c             	add    $0xc,%esp
401b62:	bf 04 01 00 00       	mov    $0x104,%edi
401b67:	57                   	push   %edi
401b68:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
401b6e:	50                   	push   %eax
401b6f:	53                   	push   %ebx
401b70:	ff 15 50 40 40 00    	call   *0x404050
401b76:	85 c0                	test   %eax,%eax
401b78:	0f 84 f5 00 00 00    	je     0x401c73
401b7e:	57                   	push   %edi
401b7f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
401b85:	50                   	push   %eax
401b86:	53                   	push   %ebx
401b87:	ff 15 a4 40 40 00    	call   *0x4040a4
401b8d:	50                   	push   %eax
401b8e:	ff 15 f0 40 40 00    	call   *0x4040f0
401b94:	85 c0                	test   %eax,%eax
401b96:	0f 84 d7 00 00 00    	je     0x401c73
401b9c:	ff 15 68 40 40 00    	call   *0x404068
401ba2:	50                   	push   %eax
401ba3:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
401ba9:	50                   	push   %eax
401baa:	e8 1f ff ff ff       	call   0x401ace
401baf:	89 45 f8             	mov    %eax,-0x8(%ebp)
401bb2:	3b c3                	cmp    %ebx,%eax
401bb4:	75 07                	jne    0x401bbd
401bb6:	c7 45 f8 a8 45 40 00 	movl   $0x4045a8,-0x8(%ebp)
401bbd:	8b 3d 58 40 40 00    	mov    0x404058,%edi
401bc3:	68 18 06 00 00       	push   $0x618
401bc8:	6a 08                	push   $0x8
401bca:	ff d7                	call   *%edi
401bcc:	8b 1d 64 40 40 00    	mov    0x404064,%ebx
401bd2:	50                   	push   %eax
401bd3:	ff d3                	call   *%ebx
401bd5:	89 45 f4             	mov    %eax,-0xc(%ebp)
401bd8:	85 c0                	test   %eax,%eax
401bda:	0f 84 93 00 00 00    	je     0x401c73
401be0:	ff 75 f8             	push   -0x8(%ebp)
401be3:	8d 8d dc fb ff ff    	lea    -0x424(%ebp),%ecx
401be9:	51                   	push   %ecx
401bea:	68 ac 45 40 00       	push   $0x4045ac
401bef:	50                   	push   %eax
401bf0:	ff 15 30 41 40 00    	call   *0x404130
401bf6:	83 c4 10             	add    $0x10,%esp
401bf9:	68 0a 02 00 00       	push   $0x20a
401bfe:	6a 08                	push   $0x8
401c00:	ff d7                	call   *%edi
401c02:	50                   	push   %eax
401c03:	ff d3                	call   *%ebx
401c05:	8b d8                	mov    %eax,%ebx
401c07:	33 c0                	xor    %eax,%eax
401c09:	3b d8                	cmp    %eax,%ebx
401c0b:	74 4a                	je     0x401c57
401c0d:	53                   	push   %ebx
401c0e:	50                   	push   %eax
401c0f:	50                   	push   %eax
401c10:	6a 25                	push   $0x25
401c12:	50                   	push   %eax
401c13:	ff 15 00 41 40 00    	call   *0x404100
401c19:	85 c0                	test   %eax,%eax
401c1b:	75 3a                	jne    0x401c57
401c1d:	68 d8 45 40 00       	push   $0x4045d8
401c22:	53                   	push   %ebx
401c23:	ff 15 0c 41 40 00    	call   *0x40410c
401c29:	85 c0                	test   %eax,%eax
401c2b:	74 2a                	je     0x401c57
401c2d:	8b 45 f4             	mov    -0xc(%ebp),%eax
401c30:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
401c34:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401c3b:	c7 06 3c 00 00 00    	movl   $0x3c,(%esi)
401c41:	c7 46 0c e8 45 40 00 	movl   $0x4045e8,0xc(%esi)
401c48:	89 5e 10             	mov    %ebx,0x10(%esi)
401c4b:	89 46 14             	mov    %eax,0x14(%esi)