401dfb:	51                   	push   %ecx
401dfc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401e00:	83 3d b4 a9 42 00 00 	cmpl   $0x0,0x42a9b4
401e07:	56                   	push   %esi
401e08:	75 5c                	jne    0x401e66
401e0a:	6a 10                	push   $0x10
401e0c:	58                   	pop    %eax
401e0d:	e8 c4 12 00 00       	call   0x4030d6
401e12:	8b c4                	mov    %esp,%eax
401e14:	85 c0                	test   %eax,%eax
401e16:	74 11                	je     0x401e29
401e18:	68 87 00 00 00       	push   $0x87
401e1d:	6a 0c                	push   $0xc
401e1f:	ba 54 56 40 00       	mov    $0x405654,%edx
401e24:	e8 34 0b 00 00       	call   0x40295d
401e29:	50                   	push   %eax
401e2a:	ff 15 80 40 40 00    	call   *0x404080
401e30:	8b f0                	mov    %eax,%esi
401e32:	85 f6                	test   %esi,%esi
401e34:	74 41                	je     0x401e77
401e36:	6a 10                	push   $0x10
401e38:	58                   	pop    %eax
401e39:	e8 98 12 00 00       	call   0x4030d6
401e3e:	8b c4                	mov    %esp,%eax
401e40:	85 c0                	test   %eax,%eax
401e42:	74 11                	je     0x401e55
401e44:	68 96 00 00 00       	push   $0x96
401e49:	6a 0e                	push   $0xe
401e4b:	ba 3c 56 40 00       	mov    $0x40563c,%edx
401e50:	e8 08 0b 00 00       	call   0x40295d
401e55:	50                   	push   %eax
401e56:	56                   	push   %esi
401e57:	ff 15 84 40 40 00    	call   *0x404084
401e5d:	a3 b4 a9 42 00       	mov    %eax,0x42a9b4
401e62:	85 c0                	test   %eax,%eax
401e64:	74 11                	je     0x401e77
401e66:	ff 15 a4 40 40 00    	call   *0x4040a4
401e6c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401e6f:	51                   	push   %ecx
401e70:	50                   	push   %eax
401e71:	ff 15 b4 a9 42 00    	call   *0x42a9b4
401e77:	8b 45 fc             	mov    -0x4(%ebp),%eax
401e7a:	8d 65 f8             	lea    -0x8(%ebp),%esp
401e7d:	5e                   	pop    %esi
401e7e:	c9                   	leave
401e7f:	c3                   	ret
401e80:	55                   	push   %ebp
401e81:	8b ec                	mov    %esp,%ebp
401e83:	51                   	push   %ecx
401e84:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401e88:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
401e8c:	74 22                	je     0x401eb0
401e8e:	8d 45 fc             	lea    -0x4(%ebp),%eax
401e91:	50                   	push   %eax
401e92:	ff 75 08             	push   0x8(%ebp)
401e95:	ff 15 c4 40 40 00    	call   *0x4040c4
401e9b:	85 c0                	test   %eax,%eax
401e9d:	74 11                	je     0x401eb0
401e9f:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
401ea3:	75 0b                	jne    0x401eb0
401ea5:	ff 75 08             	push   0x8(%ebp)
401ea8:	ff 15 78 41 40 00    	call   *0x404178
401eae:	eb 02                	jmp    0x401eb2
401eb0:	33 c0                	xor    %eax,%eax
401eb2:	c9                   	leave
401eb3:	c2 04 00             	ret    $0x4
401eb6:	55                   	push   %ebp
401eb7:	8b ec                	mov    %esp,%ebp
401eb9:	81 ec 10 02 00 00    	sub    $0x210,%esp
401ebf:	53                   	push   %ebx
401ec0:	56                   	push   %esi
401ec1:	57                   	push   %edi
401ec2:	33 db                	xor    %ebx,%ebx
401ec4:	be 03 01 00 00       	mov    $0x103,%esi
401ec9:	56                   	push   %esi
401eca:	8d 85 f1 fd ff ff    	lea    -0x20f(%ebp),%eax
401ed0:	53                   	push   %ebx
401ed1:	50                   	push   %eax
401ed2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401ed5:	88 9d f0 fd ff ff    	mov    %bl,-0x210(%ebp)
401edb:	e8 fc 11 00 00       	call   0x4030dc
401ee0:	56                   	push   %esi
401ee1:	8d 85 f5 fe ff ff    	lea    -0x10b(%ebp),%eax
401ee7:	53                   	push   %ebx
401ee8:	50                   	push   %eax
401ee9:	88 9d f4 fe ff ff    	mov    %bl,-0x10c(%ebp)
401eef:	e8 e8 11 00 00       	call   0x4030dc
401ef4:	83 c4 18             	add    $0x18,%esp
401ef7:	39 5d 08             	cmp    %ebx,0x8(%ebp)
401efa:	0f 84 e8 00 00 00    	je     0x401fe8
401f00:	8d 7e 01             	lea    0x1(%esi),%edi
401f03:	57                   	push   %edi
401f04:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401f0a:	50                   	push   %eax
401f0b:	68 70 a5 42 00       	push   $0x42a570
401f10:	ff 15 c0 40 40 00    	call   *0x4040c0
401f16:	6a 34                	push   $0x34
401f18:	58                   	pop    %eax
401f19:	e8 b8 11 00 00       	call   0x4030d6
401f1e:	8b c4                	mov    %esp,%eax
401f20:	89 45 f8             	mov    %eax,-0x8(%ebp)
401f23:	3b c3                	cmp    %ebx,%eax
401f25:	74 11                	je     0x401f38
401f27:	68 87 00 00 00       	push   $0x87
401f2c:	6a 31                	push   $0x31
401f2e:	ba 10 52 40 00       	mov    $0x405210,%edx
401f33:	e8 25 0a 00 00       	call   0x40295d
401f38:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401f3b:	51                   	push   %ecx
401f3c:	68 06 02 02 00       	push   $0x20206
401f41:	53                   	push   %ebx
401f42:	50                   	push   %eax
401f43:	be 01 00 00 80       	mov    $0x80000001,%esi
401f48:	56                   	push   %esi
401f49:	ff 15 30 40 40 00    	call   *0x404030
401f4f:	83 f8 02             	cmp    $0x2,%eax
401f52:	75 0e                	jne    0x401f62
401f54:	8d 45 fc             	lea    -0x4(%ebp),%eax
401f57:	50                   	push   %eax
401f58:	ff 75 f8             	push   -0x8(%ebp)
401f5b:	56                   	push   %esi
401f5c:	ff 15 2c 40 40 00    	call   *0x40402c
401f62:	3b c3                	cmp    %ebx,%eax
401f64:	75 74                	jne    0x401fda
401f66:	6a 30                	push   $0x30
401f68:	58                   	pop    %eax
401f69:	e8 68 11 00 00       	call   0x4030d6
401f6e:	8b c4                	mov    %esp,%eax
401f70:	3b c3                	cmp    %ebx,%eax
401f72:	74 11                	je     0x401f85
401f74:	68 86 00 00 00       	push   $0x86
401f79:	6a 2d                	push   $0x2d
401f7b:	ba e0 51 40 00       	mov    $0x4051e0,%edx
401f80:	e8 d8 09 00 00       	call   0x40295d
401f85:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
401f8b:	51                   	push   %ecx
401f8c:	50                   	push   %eax
401f8d:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401f93:	57                   	push   %edi
401f94:	50                   	push   %eax
401f95:	ff 15 88 41 40 00    	call   *0x404188
401f9b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401fa1:	83 c4 10             	add    $0x10,%esp
401fa4:	8d 70 01             	lea    0x1(%eax),%esi
401fa7:	8a 08                	mov    (%eax),%cl
401fa9:	40                   	inc    %eax
401faa:	3a cb                	cmp    %bl,%cl
401fac:	75 f9                	jne    0x401fa7
401fae:	2b c6                	sub    %esi,%eax
401fb0:	40                   	inc    %eax
401fb1:	50                   	push   %eax
401fb2:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401fb8:	50                   	push   %eax
401fb9:	6a 01                	push   $0x1
401fbb:	53                   	push   %ebx
401fbc:	ff 75 08             	push   0x8(%ebp)
401fbf:	ff 75 fc             	push   -0x4(%ebp)
401fc2:	ff 15 24 40 40 00    	call   *0x404024
401fc8:	85 c0                	test   %eax,%eax
401fca:	75 0e                	jne    0x401fda
401fcc:	ff 75 fc             	push   -0x4(%ebp)
401fcf:	ff 15 38 40 40 00    	call   *0x404038
401fd5:	e8 8a 01 00 00       	call   0x402164
401fda:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
401fdd:	74 09                	je     0x401fe8
401fdf:	ff 75 fc             	push   -0x4(%ebp)
401fe2:	ff 15 3c 40 40 00    	call   *0x40403c
401fe8:	8d a5 e4 fd ff ff    	lea    -0x21c(%ebp),%esp
401fee:	5f                   	pop    %edi
401fef:	5e                   	pop    %esi
401ff0:	5b                   	pop    %ebx
401ff1:	c9                   	leave
401ff2:	c2 04 00             	ret    $0x4
401ff5:	55                   	push   %ebp
401ff6:	8b ec                	mov    %esp,%ebp
401ff8:	51                   	push   %ecx
401ff9:	51                   	push   %ecx
401ffa:	8d 45 fc             	lea    -0x4(%ebp),%eax
401ffd:	50                   	push   %eax
401ffe:	6a 08                	push   $0x8
402000:	ff 75 08             	push   0x8(%ebp)
402003:	c7 45 f8 00 10 00 00 	movl   $0x1000,-0x8(%ebp)
40200a:	ff 15 14 40 40 00    	call   *0x404014
402010:	85 c0                	test   %eax,%eax
402012:	0f 84 92 00 00 00    	je     0x4020aa
402018:	53                   	push   %ebx
402019:	56                   	push   %esi
40201a:	57                   	push   %edi
40201b:	8b 3d 20 40 40 00    	mov    0x404020,%edi
402021:	8d 45 08             	lea    0x8(%ebp),%eax
402024:	50                   	push   %eax
402025:	33 f6                	xor    %esi,%esi
402027:	56                   	push   %esi
402028:	56                   	push   %esi
402029:	6a 19                	push   $0x19
40202b:	ff 75 fc             	push   -0x4(%ebp)
40202e:	ff d7                	call   *%edi
402030:	8b d8                	mov    %eax,%ebx
402032:	85 db                	test   %ebx,%ebx
402034:	75 42                	jne    0x402078
402036:	ff 15 48 40 40 00    	call   *0x404048
40203c:	83 f8 7a             	cmp    $0x7a,%eax
40203f:	75 21                	jne    0x402062
402041:	8b 75 08             	mov    0x8(%ebp),%esi
402044:	e8 7a 0a 00 00       	call   0x402ac3
402049:	8b f0                	mov    %eax,%esi
40204b:	85 f6                	test   %esi,%esi
40204d:	74 4f                	je     0x40209e
40204f:	8d 45 08             	lea    0x8(%ebp),%eax
402052:	50                   	push   %eax
402053:	ff 75 08             	push   0x8(%ebp)
402056:	56                   	push   %esi
402057:	6a 19                	push   $0x19
402059:	ff 75 fc             	push   -0x4(%ebp)
40205c:	ff d7                	call   *%edi
40205e:	8b d8                	mov    %eax,%ebx
402060:	eb 12                	jmp    0x402074
402062:	ff 15 48 40 40 00    	call   *0x404048
402068:	83 f8 57             	cmp    $0x57,%eax
40206b:	75 31                	jne    0x40209e
40206d:	c7 45 f8 00 20 00 00 	movl   $0x2000,-0x8(%ebp)
402074:	85 db                	test   %ebx,%ebx
402076:	74 1d                	je     0x402095
402078:	ff 36                	push   (%esi)
40207a:	ff 15 1c 40 40 00    	call   *0x40401c
402080:	8a 00                	mov    (%eax),%al
402082:	fe c8                	dec    %al
402084:	0f b6 c0             	movzbl %al,%eax
402087:	50                   	push   %eax
402088:	ff 36                	push   (%esi)
40208a:	ff 15 18 40 40 00    	call   *0x404018
402090:	8b 00                	mov    (%eax),%eax
402092:	89 45 f8             	mov    %eax,-0x8(%ebp)
402095:	85 f6                	test   %esi,%esi
402097:	74 05                	je     0x40209e
402099:	e8 74 0a 00 00       	call   0x402b12
40209e:	ff 75 fc             	push   -0x4(%ebp)
4020a1:	ff 15 4c 40 40 00    	call   *0x40404c
4020a7:	5f                   	pop    %edi
4020a8:	5e                   	pop    %esi
4020a9:	5b                   	pop    %ebx
4020aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4020ad:	c9                   	leave
4020ae:	c2 04 00             	ret    $0x4
4020b1:	55                   	push   %ebp
4020b2:	8b ec                	mov    %esp,%ebp
4020b4:	51                   	push   %ecx
4020b5:	53                   	push   %ebx
4020b6:	56                   	push   %esi
4020b7:	57                   	push   %edi
4020b8:	6a 10                	push   $0x10
4020ba:	58                   	pop    %eax
4020bb:	e8 16 10 00 00       	call   0x4030d6
4020c0:	8b c4                	mov    %esp,%eax
4020c2:	85 c0                	test   %eax,%eax
4020c4:	74 11                	je     0x4020d7
4020c6:	68 87 00 00 00       	push   $0x87
4020cb:	6a 0c                	push   $0xc
4020cd:	ba 54 56 40 00       	mov    $0x405654,%edx
4020d2:	e8 86 08 00 00       	call   0x40295d
4020d7:	50                   	push   %eax
4020d8:	ff 15 78 40 40 00    	call   *0x404078
4020de:	6a 24                	push   $0x24
4020e0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4020e3:	58                   	pop    %eax
4020e4:	e8 ed 0f 00 00       	call   0x4030d6
4020e9:	8b f4                	mov    %esp,%esi
4020eb:	85 f6                	test   %esi,%esi
4020ed:	74 13                	je     0x402102
4020ef:	68 91 00 00 00       	push   $0x91
4020f4:	6a 21                	push   $0x21
4020f6:	8b c6                	mov    %esi,%eax
4020f8:	ba c4 59 40 00       	mov    $0x4059c4,%edx
4020fd:	e8 5b 08 00 00       	call   0x40295d
402102:	6a 24                	push   $0x24
402104:	58                   	pop    %eax
402105:	e8 cc 0f 00 00       	call   0x4030d6
40210a:	8b fc                	mov    %esp,%edi
40210c:	85 ff                	test   %edi,%edi
40210e:	74 13                	je     0x402123
402110:	68 88 00 00 00       	push   $0x88
402115:	6a 21                	push   $0x21
402117:	8b c7                	mov    %edi,%eax
402119:	ba e8 59 40 00       	mov    $0x4059e8,%edx
40211e:	e8 3a 08 00 00       	call   0x40295d
402123:	56                   	push   %esi
402124:	ff 75 fc             	push   -0x4(%ebp)
402127:	8b 35 84 40 40 00    	mov    0x404084,%esi
40212d:	ff d6                	call   *%esi
40212f:	57                   	push   %edi
402130:	ff 75 fc             	push   -0x4(%ebp)
402133:	8b d8                	mov    %eax,%ebx
402135:	ff d6                	call   *%esi
402137:	8b f0                	mov    %eax,%esi
402139:	85 db                	test   %ebx,%ebx
40213b:	74 1f                	je     0x40215c
40213d:	85 f6                	test   %esi,%esi
40213f:	74 1b                	je     0x40215c
402141:	8d 45 fc             	lea    -0x4(%ebp),%eax
402144:	50                   	push   %eax
402145:	ff d3                	call   *%ebx
402147:	85 c0                	test   %eax,%eax
402149:	74 0b                	je     0x402156
40214b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40214e:	83 e0 fe             	and    $0xfffffffe,%eax
402151:	50                   	push   %eax
402152:	ff d6                	call   *%esi
402154:	eb 06                	jmp    0x40215c
402156:	ff 15 48 40 40 00    	call   *0x404048
40215c:	8d 65 f0             	lea    -0x10(%ebp),%esp
40215f:	5f                   	pop    %edi
402160:	5e                   	pop    %esi
402161:	5b                   	pop    %ebx
402162:	c9                   	leave
402163:	c3                   	ret
402164:	55                   	push   %ebp
402165:	8b ec                	mov    %esp,%ebp
402167:	83 ec 10             	sub    $0x10,%esp
40216a:	56                   	push   %esi
40216b:	57                   	push   %edi
40216c:	6a 3c                	push   $0x3c
40216e:	33 ff                	xor    %edi,%edi
402170:	58                   	pop    %eax
402171:	89 7d fc             	mov    %edi,-0x4(%ebp)
402174:	e8 5d 0f 00 00       	call   0x4030d6
402179:	8b c4                	mov    %esp,%eax
40217b:	3b c7                	cmp    %edi,%eax
40217d:	74 11                	je     0x402190
40217f:	68 96 00 00 00       	push   $0x96
402184:	6a 3b                	push   $0x3b
402186:	ba 30 5a 40 00       	mov    $0x405a30,%edx
40218b:	e8 cd 07 00 00       	call   0x40295d
402190:	8d 4d fc             	lea    -0x4(%ebp),%ecx
402193:	51                   	push   %ecx
402194:	68 3f 00 0f 00       	push   $0xf003f
402199:	57                   	push   %edi
40219a:	50                   	push   %eax
40219b:	68 01 00 00 80       	push   $0x80000001
4021a0:	ff 15 30 40 40 00    	call   *0x404030
4021a6:	3b c7                	cmp    %edi,%eax
4021a8:	75 05                	jne    0x4021af
4021aa:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4021ad:	75 0a                	jne    0x4021b9
4021af:	83 f8 02             	cmp    $0x2,%eax
4021b2:	74 05                	je     0x4021b9
4021b4:	83 f8 05             	cmp    $0x5,%eax
4021b7:	75 60                	jne    0x402219
4021b9:	6a 04                	push   $0x4
4021bb:	58                   	pop    %eax
4021bc:	6a 18                	push   $0x18