401e25:	5f                   	pop    %edi
401e26:	5e                   	pop    %esi
401e27:	c2 08 00             	ret    $0x8
401e2a:	cc                   	int3
401e2b:	cc                   	int3
401e2c:	cc                   	int3
401e2d:	cc                   	int3
401e2e:	cc                   	int3
401e2f:	cc                   	int3
401e30:	53                   	push   %ebx
401e31:	8b 5c 24 08          	mov    0x8(%esp),%ebx
401e35:	56                   	push   %esi
401e36:	8b f1                	mov    %ecx,%esi
401e38:	39 5e 14             	cmp    %ebx,0x14(%esi)
401e3b:	57                   	push   %edi
401e3c:	73 05                	jae    0x401e43
401e3e:	e8 10 16 00 00       	call   0x403453
401e43:	8b 46 14             	mov    0x14(%esi),%eax
401e46:	8b 7c 24 14          	mov    0x14(%esp),%edi
401e4a:	2b c3                	sub    %ebx,%eax
401e4c:	3b c7                	cmp    %edi,%eax
401e4e:	73 02                	jae    0x401e52
401e50:	8b f8                	mov    %eax,%edi
401e52:	85 ff                	test   %edi,%edi
401e54:	76 55                	jbe    0x401eab
401e56:	8b 4e 18             	mov    0x18(%esi),%ecx
401e59:	83 f9 10             	cmp    $0x10,%ecx
401e5c:	55                   	push   %ebp
401e5d:	8d 6e 04             	lea    0x4(%esi),%ebp
401e60:	72 09                	jb     0x401e6b
401e62:	8b 55 00             	mov    0x0(%ebp),%edx
401e65:	89 54 24 14          	mov    %edx,0x14(%esp)
401e69:	eb 04                	jmp    0x401e6f
401e6b:	89 6c 24 14          	mov    %ebp,0x14(%esp)
401e6f:	83 f9 10             	cmp    $0x10,%ecx
401e72:	72 05                	jb     0x401e79
401e74:	8b 55 00             	mov    0x0(%ebp),%edx
401e77:	eb 02                	jmp    0x401e7b
401e79:	8b d5                	mov    %ebp,%edx
401e7b:	2b c7                	sub    %edi,%eax
401e7d:	50                   	push   %eax
401e7e:	8b 44 24 18          	mov    0x18(%esp),%eax
401e82:	03 c3                	add    %ebx,%eax
401e84:	03 c7                	add    %edi,%eax
401e86:	50                   	push   %eax
401e87:	2b cb                	sub    %ebx,%ecx
401e89:	51                   	push   %ecx
401e8a:	03 d3                	add    %ebx,%edx
401e8c:	52                   	push   %edx
401e8d:	e8 1d 3c 00 00       	call   0x405aaf
401e92:	8b 46 14             	mov    0x14(%esi),%eax
401e95:	2b c7                	sub    %edi,%eax
401e97:	83 c4 10             	add    $0x10,%esp
401e9a:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
401e9e:	89 46 14             	mov    %eax,0x14(%esi)
401ea1:	72 03                	jb     0x401ea6
401ea3:	8b 6d 00             	mov    0x0(%ebp),%ebp
401ea6:	c6 04 28 00          	movb   $0x0,(%eax,%ebp,1)
401eaa:	5d                   	pop    %ebp
401eab:	5f                   	pop    %edi
401eac:	8b c6                	mov    %esi,%eax
401eae:	5e                   	pop    %esi
401eaf:	5b                   	pop    %ebx
401eb0:	c2 08 00             	ret    $0x8
401eb3:	cc                   	int3
401eb4:	cc                   	int3
401eb5:	cc                   	int3
401eb6:	cc                   	int3
401eb7:	cc                   	int3
401eb8:	cc                   	int3
401eb9:	cc                   	int3
401eba:	cc                   	int3
401ebb:	cc                   	int3
401ebc:	cc                   	int3
401ebd:	cc                   	int3
401ebe:	cc                   	int3
401ebf:	cc                   	int3
401ec0:	55                   	push   %ebp
401ec1:	8b ec                	mov    %esp,%ebp
401ec3:	6a ff                	push   $0xffffffff
401ec5:	68 f0 59 41 00       	push   $0x4159f0
401eca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401ed0:	50                   	push   %eax
401ed1:	83 ec 0c             	sub    $0xc,%esp
401ed4:	53                   	push   %ebx
401ed5:	56                   	push   %esi
401ed6:	57                   	push   %edi
401ed7:	a1 20 c5 41 00       	mov    0x41c520,%eax
401edc:	33 c5                	xor    %ebp,%eax
401ede:	50                   	push   %eax
401edf:	8d 45 f4             	lea    -0xc(%ebp),%eax
401ee2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ee8:	89 65 f0             	mov    %esp,-0x10(%ebp)
401eeb:	8b f9                	mov    %ecx,%edi
401eed:	89 7d ec             	mov    %edi,-0x14(%ebp)
401ef0:	8b 45 08             	mov    0x8(%ebp),%eax
401ef3:	8b f0                	mov    %eax,%esi
401ef5:	83 ce 0f             	or     $0xf,%esi
401ef8:	83 fe fe             	cmp    $0xfffffffe,%esi
401efb:	76 04                	jbe    0x401f01
401efd:	8b f0                	mov    %eax,%esi
401eff:	eb 22                	jmp    0x401f23
401f01:	8b 5f 18             	mov    0x18(%edi),%ebx
401f04:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
401f09:	f7 e6                	mul    %esi
401f0b:	8b cb                	mov    %ebx,%ecx
401f0d:	d1 e9                	shr    $1,%ecx
401f0f:	d1 ea                	shr    $1,%edx
401f11:	3b d1                	cmp    %ecx,%edx
401f13:	73 0e                	jae    0x401f23
401f15:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
401f1a:	2b c1                	sub    %ecx,%eax
401f1c:	3b d8                	cmp    %eax,%ebx
401f1e:	77 03                	ja     0x401f23
401f20:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
401f23:	8d 4e 01             	lea    0x1(%esi),%ecx
401f26:	6a 00                	push   $0x0
401f28:	51                   	push   %ecx
401f29:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401f30:	e8 3b f6 ff ff       	call   0x401570
401f35:	83 c4 08             	add    $0x8,%esp
401f38:	89 45 08             	mov    %eax,0x8(%ebp)
401f3b:	eb 2a                	jmp    0x401f67
401f3d:	8b 45 08             	mov    0x8(%ebp),%eax
401f40:	89 65 f0             	mov    %esp,-0x10(%ebp)
401f43:	89 45 e8             	mov    %eax,-0x18(%ebp)
401f46:	83 c0 01             	add    $0x1,%eax
401f49:	6a 00                	push   $0x0
401f4b:	50                   	push   %eax
401f4c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401f50:	e8 1b f6 ff ff       	call   0x401570
401f55:	89 45 08             	mov    %eax,0x8(%ebp)
401f58:	83 c4 08             	add    $0x8,%esp
401f5b:	b8 61 1f 40 00       	mov    $0x401f61,%eax
401f60:	c3                   	ret
401f61:	8b 7d ec             	mov    -0x14(%ebp),%edi
401f64:	8b 75 e8             	mov    -0x18(%ebp),%esi
401f67:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401f6a:	85 db                	test   %ebx,%ebx
401f6c:	76 20                	jbe    0x401f8e
401f6e:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
401f72:	72 05                	jb     0x401f79
401f74:	8b 47 04             	mov    0x4(%edi),%eax
401f77:	eb 03                	jmp    0x401f7c
401f79:	8d 47 04             	lea    0x4(%edi),%eax
401f7c:	53                   	push   %ebx
401f7d:	50                   	push   %eax
401f7e:	8b 45 08             	mov    0x8(%ebp),%eax
401f81:	8d 56 01             	lea    0x1(%esi),%edx
401f84:	52                   	push   %edx
401f85:	50                   	push   %eax
401f86:	e8 a9 3a 00 00       	call   0x405a34
401f8b:	83 c4 10             	add    $0x10,%esp
401f8e:	83 7f 18 10          	cmpl   $0x10,0x18(%edi)
401f92:	72 0c                	jb     0x401fa0
401f94:	8b 4f 04             	mov    0x4(%edi),%ecx
401f97:	51                   	push   %ecx
401f98:	e8 92 3a 00 00       	call   0x405a2f
401f9d:	83 c4 04             	add    $0x4,%esp
401fa0:	83 fe 10             	cmp    $0x10,%esi
401fa3:	8b 4d 08             	mov    0x8(%ebp),%ecx
401fa6:	8d 47 04             	lea    0x4(%edi),%eax
401fa9:	c6 00 00             	movb   $0x0,(%eax)
401fac:	89 08                	mov    %ecx,(%eax)
401fae:	89 77 18             	mov    %esi,0x18(%edi)
401fb1:	89 5f 14             	mov    %ebx,0x14(%edi)
401fb4:	72 02                	jb     0x401fb8
401fb6:	8b c1                	mov    %ecx,%eax
401fb8:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
401fbc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401fbf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401fc6:	59                   	pop    %ecx
401fc7:	5f                   	pop    %edi
401fc8:	5e                   	pop    %esi
401fc9:	5b                   	pop    %ebx
401fca:	8b e5                	mov    %ebp,%esp
401fcc:	5d                   	pop    %ebp
401fcd:	c2 08 00             	ret    $0x8
401fd0:	8b 75 ec             	mov    -0x14(%ebp),%esi
401fd3:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
401fd7:	72 0c                	jb     0x401fe5
401fd9:	8b 56 04             	mov    0x4(%esi),%edx
401fdc:	52                   	push   %edx
401fdd:	e8 4d 3a 00 00       	call   0x405a2f
401fe2:	83 c4 04             	add    $0x4,%esp
401fe5:	6a 00                	push   $0x0
401fe7:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
401fee:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
401ff5:	6a 00                	push   $0x0
401ff7:	c6 46 04 00          	movb   $0x0,0x4(%esi)
401ffb:	e8 42 40 00 00       	call   0x406042
402000:	cc                   	int3
402001:	cc                   	int3
402002:	cc                   	int3
402003:	cc                   	int3
402004:	cc                   	int3
402005:	cc                   	int3
402006:	cc                   	int3
402007:	cc                   	int3
402008:	cc                   	int3
402009:	cc                   	int3
40200a:	cc                   	int3
40200b:	cc                   	int3
40200c:	cc                   	int3
40200d:	cc                   	int3
40200e:	cc                   	int3
40200f:	cc                   	int3
402010:	56                   	push   %esi
402011:	8b f1                	mov    %ecx,%esi
402013:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
402017:	72 0c                	jb     0x402025
402019:	8b 46 04             	mov    0x4(%esi),%eax
40201c:	50                   	push   %eax
40201d:	e8 0d 3a 00 00       	call   0x405a2f
402022:	83 c4 04             	add    $0x4,%esp
402025:	33 c0                	xor    %eax,%eax
402027:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
40202e:	89 46 14             	mov    %eax,0x14(%esi)
402031:	88 46 04             	mov    %al,0x4(%esi)
402034:	5e                   	pop    %esi
402035:	c3                   	ret
402036:	cc                   	int3
402037:	cc                   	int3
402038:	cc                   	int3
402039:	cc                   	int3
40203a:	cc                   	int3
40203b:	cc                   	int3
40203c:	cc                   	int3
40203d:	cc                   	int3
40203e:	cc                   	int3
40203f:	cc                   	int3
402040:	53                   	push   %ebx
402041:	8b 5c 24 08          	mov    0x8(%esp),%ebx
402045:	83 fb fe             	cmp    $0xfffffffe,%ebx
402048:	56                   	push   %esi
402049:	8b f1                	mov    %ecx,%esi
40204b:	76 05                	jbe    0x402052
40204d:	e8 70 13 00 00       	call   0x4033c2
402052:	8b 46 18             	mov    0x18(%esi),%eax
402055:	3b c3                	cmp    %ebx,%eax
402057:	73 19                	jae    0x402072
402059:	8b 46 14             	mov    0x14(%esi),%eax
40205c:	50                   	push   %eax
40205d:	53                   	push   %ebx
40205e:	8b ce                	mov    %esi,%ecx
402060:	e8 5b fe ff ff       	call   0x401ec0
402065:	33 c9                	xor    %ecx,%ecx
402067:	3b cb                	cmp    %ebx,%ecx
402069:	1b c0                	sbb    %eax,%eax
40206b:	5e                   	pop    %esi
40206c:	f7 d8                	neg    %eax
40206e:	5b                   	pop    %ebx
40206f:	c2 08 00             	ret    $0x8
402072:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
402077:	74 52                	je     0x4020cb
402079:	83 fb 10             	cmp    $0x10,%ebx
40207c:	73 4d                	jae    0x4020cb
40207e:	57                   	push   %edi
40207f:	8b 7e 14             	mov    0x14(%esi),%edi
402082:	3b df                	cmp    %edi,%ebx
402084:	73 02                	jae    0x402088
402086:	8b fb                	mov    %ebx,%edi
402088:	83 f8 10             	cmp    $0x10,%eax
40208b:	72 21                	jb     0x4020ae
40208d:	85 ff                	test   %edi,%edi
40208f:	8d 46 04             	lea    0x4(%esi),%eax
402092:	55                   	push   %ebp
402093:	8b 28                	mov    (%eax),%ebp
402095:	76 0d                	jbe    0x4020a4
402097:	57                   	push   %edi
402098:	55                   	push   %ebp
402099:	6a 10                	push   $0x10
40209b:	50                   	push   %eax
40209c:	e8 93 39 00 00       	call   0x405a34
4020a1:	83 c4 10             	add    $0x10,%esp
4020a4:	55                   	push   %ebp
4020a5:	e8 85 39 00 00       	call   0x405a2f
4020aa:	83 c4 04             	add    $0x4,%esp
4020ad:	5d                   	pop    %ebp
4020ae:	89 7e 14             	mov    %edi,0x14(%esi)
4020b1:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
4020b8:	33 c9                	xor    %ecx,%ecx
4020ba:	c6 44 3e 04 00       	movb   $0x0,0x4(%esi,%edi,1)
4020bf:	3b cb                	cmp    %ebx,%ecx
4020c1:	5f                   	pop    %edi
4020c2:	1b c0                	sbb    %eax,%eax
4020c4:	5e                   	pop    %esi
4020c5:	f7 d8                	neg    %eax
4020c7:	5b                   	pop    %ebx
4020c8:	c2 08 00             	ret    $0x8
4020cb:	85 db                	test   %ebx,%ebx
4020cd:	75 20                	jne    0x4020ef
4020cf:	83 f8 10             	cmp    $0x10,%eax
4020d2:	89 5e 14             	mov    %ebx,0x14(%esi)
4020d5:	72 12                	jb     0x4020e9
4020d7:	8b 76 04             	mov    0x4(%esi),%esi
4020da:	33 c9                	xor    %ecx,%ecx
4020dc:	3b cb                	cmp    %ebx,%ecx
4020de:	88 1e                	mov    %bl,(%esi)
4020e0:	1b c0                	sbb    %eax,%eax
4020e2:	5e                   	pop    %esi
4020e3:	f7 d8                	neg    %eax
4020e5:	5b                   	pop    %ebx
4020e6:	c2 08 00             	ret    $0x8
4020e9:	83 c6 04             	add    $0x4,%esi
4020ec:	c6 06 00             	movb   $0x0,(%esi)
4020ef:	33 c9                	xor    %ecx,%ecx
4020f1:	3b cb                	cmp    %ebx,%ecx
4020f3:	1b c0                	sbb    %eax,%eax
4020f5:	5e                   	pop    %esi
4020f6:	f7 d8                	neg    %eax
4020f8:	5b                   	pop    %ebx
4020f9:	c2 08 00             	ret    $0x8
4020fc:	cc                   	int3
4020fd:	cc                   	int3
4020fe:	cc                   	int3
4020ff:	cc                   	int3
402100:	56                   	push   %esi
402101:	8b f1                	mov    %ecx,%esi
402103:	c7 06 38 73 41 00    	movl   $0x417338,(%esi)
402109:	83 7e 24 10          	cmpl   $0x10,0x24(%esi)
40210d:	72 0c                	jb     0x40211b
40210f:	8b 46 10             	mov    0x10(%esi),%eax
402112:	50                   	push   %eax
402113:	e8 17 39 00 00       	call   0x405a2f
402118:	83 c4 04             	add    $0x4,%esp
40211b:	33 c0                	xor    %eax,%eax
40211d:	c7 46 24 0f 00 00 00 	movl   $0xf,0x24(%esi)
402124:	89 46 20             	mov    %eax,0x20(%esi)
402127:	88 46 10             	mov    %al,0x10(%esi)
40212a:	8b ce                	mov    %esi,%ecx
40212c:	5e                   	pop    %esi
40212d:	e9 1b 38 00 00       	jmp    0x40594d
402132:	cc                   	int3
402133:	cc                   	int3
402134:	cc                   	int3
402135:	cc                   	int3
402136:	cc                   	int3
402137:	cc                   	int3
402138:	cc                   	int3
402139:	cc                   	int3
40213a:	cc                   	int3
40213b:	cc                   	int3
40213c:	cc                   	int3
40213d:	cc                   	int3
40213e:	cc                   	int3
40213f:	cc                   	int3
402140:	83 79 24 10          	cmpl   $0x10,0x24(%ecx)
402144:	72 04                	jb     0x40214a
402146:	8b 41 10             	mov    0x10(%ecx),%eax