401dc5:	a1 14 40 4c 00       	mov    0x4c4014,%eax
401dca:	33 c5                	xor    %ebp,%eax
401dcc:	50                   	push   %eax
401dcd:	8d 45 f4             	lea    -0xc(%ebp),%eax
401dd0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401dd6:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
401ddb:	85 c0                	test   %eax,%eax
401ddd:	75 3c                	jne    0x401e1b
401ddf:	68 84 00 00 00       	push   $0x84
401de4:	e8 ef 7b 06 00       	call   0x4699d8
401de9:	8b f0                	mov    %eax,%esi
401deb:	83 c4 04             	add    $0x4,%esp
401dee:	89 75 f0             	mov    %esi,-0x10(%ebp)
401df1:	68 84 00 00 00       	push   $0x84
401df6:	6a 00                	push   $0x0
401df8:	56                   	push   %esi
401df9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401e00:	e8 ab 9d 06 00       	call   0x46bbb0
401e05:	83 c4 0c             	add    $0xc,%esp
401e08:	8b ce                	mov    %esi,%ecx
401e0a:	e8 71 3e 00 00       	call   0x405c80
401e0f:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
401e16:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
401e1b:	8b 48 04             	mov    0x4(%eax),%ecx
401e1e:	83 c0 04             	add    $0x4,%eax
401e21:	68 08 ef 4a 00       	push   $0x4aef08
401e26:	50                   	push   %eax
401e27:	8b 71 14             	mov    0x14(%ecx),%esi
401e2a:	8b ce                	mov    %esi,%ecx
401e2c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
401e32:	ff d6                	call   *%esi
401e34:	83 c4 08             	add    $0x8,%esp
401e37:	83 6d 08 01          	subl   $0x1,0x8(%ebp)
401e3b:	0f 85 f3 00 00 00    	jne    0x401f34
401e41:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
401e46:	85 c0                	test   %eax,%eax
401e48:	75 3c                	jne    0x401e86
401e4a:	68 84 00 00 00       	push   $0x84
401e4f:	e8 84 7b 06 00       	call   0x4699d8
401e54:	8b f0                	mov    %eax,%esi
401e56:	83 c4 04             	add    $0x4,%esp
401e59:	89 75 f0             	mov    %esi,-0x10(%ebp)
401e5c:	68 84 00 00 00       	push   $0x84
401e61:	6a 00                	push   $0x0
401e63:	56                   	push   %esi
401e64:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401e6b:	e8 40 9d 06 00       	call   0x46bbb0
401e70:	83 c4 0c             	add    $0xc,%esp
401e73:	8b ce                	mov    %esi,%ecx
401e75:	e8 06 3e 00 00       	call   0x405c80
401e7a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
401e81:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
401e86:	8b 48 04             	mov    0x4(%eax),%ecx
401e89:	83 c0 04             	add    $0x4,%eax
401e8c:	68 40 ef 4a 00       	push   $0x4aef40
401e91:	50                   	push   %eax
401e92:	8b 71 14             	mov    0x14(%ecx),%esi
401e95:	8b ce                	mov    %esi,%ecx
401e97:	ff 15 d4 e2 49 00    	call   *0x49e2d4
401e9d:	ff d6                	call   *%esi
401e9f:	83 c4 08             	add    $0x8,%esp
401ea2:	83 3d 68 8c 4c 00 04 	cmpl   $0x4,0x4c8c68
401ea9:	0f 85 85 00 00 00    	jne    0x401f34
401eaf:	33 d2                	xor    %edx,%edx
401eb1:	6a 04                	push   $0x4
401eb3:	6a 00                	push   $0x0
401eb5:	8d 4a 03             	lea    0x3(%edx),%ecx
401eb8:	e8 b3 f8 ff ff       	call   0x401770
401ebd:	a1 80 8c 4c 00       	mov    0x4c8c80,%eax
401ec2:	83 c4 08             	add    $0x8,%esp
401ec5:	85 c0                	test   %eax,%eax
401ec7:	75 63                	jne    0x401f2c
401ec9:	8b 35 94 8c 4c 00    	mov    0x4c8c94,%esi
401ecf:	85 f6                	test   %esi,%esi
401ed1:	74 2a                	je     0x401efd
401ed3:	68 28 0d 4b 00       	push   $0x4b0d28
401ed8:	68 60 ea 4a 00       	push   $0x4aea60
401edd:	68 60 ea 4a 00       	push   $0x4aea60
401ee2:	68 f8 0c 4b 00       	push   $0x4b0cf8
401ee7:	68 10 0d 4b 00       	push   $0x4b0d10
401eec:	6a 32                	push   $0x32
401eee:	8b ce                	mov    %esi,%ecx
401ef0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
401ef6:	ff d6                	call   *%esi
401ef8:	83 c4 18             	add    $0x18,%esp
401efb:	eb 37                	jmp    0x401f34
401efd:	a1 98 8c 4c 00       	mov    0x4c8c98,%eax
401f02:	85 c0                	test   %eax,%eax
401f04:	74 2e                	je     0x401f34
401f06:	8b 30                	mov    (%eax),%esi
401f08:	68 28 0d 4b 00       	push   $0x4b0d28
401f0d:	68 f8 0c 4b 00       	push   $0x4b0cf8
401f12:	68 60 ea 4a 00       	push   $0x4aea60
401f17:	8b 76 34             	mov    0x34(%esi),%esi
401f1a:	8b ce                	mov    %esi,%ecx
401f1c:	6a 32                	push   $0x32
401f1e:	50                   	push   %eax
401f1f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
401f25:	ff d6                	call   *%esi
401f27:	83 c4 14             	add    $0x14,%esp
401f2a:	eb 08                	jmp    0x401f34
401f2c:	ff 30                	push   (%eax)
401f2e:	ff 15 68 e1 49 00    	call   *0x49e168
401f34:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
401f39:	85 c0                	test   %eax,%eax
401f3b:	75 3c                	jne    0x401f79
401f3d:	68 84 00 00 00       	push   $0x84
401f42:	e8 91 7a 06 00       	call   0x4699d8
401f47:	8b f0                	mov    %eax,%esi
401f49:	83 c4 04             	add    $0x4,%esp
401f4c:	89 75 f0             	mov    %esi,-0x10(%ebp)
401f4f:	68 84 00 00 00       	push   $0x84
401f54:	6a 00                	push   $0x0
401f56:	56                   	push   %esi
401f57:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
401f5e:	e8 4d 9c 06 00       	call   0x46bbb0
401f63:	83 c4 0c             	add    $0xc,%esp
401f66:	8b ce                	mov    %esi,%ecx
401f68:	e8 13 3d 00 00       	call   0x405c80
401f6d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
401f74:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
401f79:	8b 48 04             	mov    0x4(%eax),%ecx
401f7c:	83 c0 04             	add    $0x4,%eax
401f7f:	68 90 ef 4a 00       	push   $0x4aef90
401f84:	50                   	push   %eax
401f85:	8b 71 14             	mov    0x14(%ecx),%esi
401f88:	8b ce                	mov    %esi,%ecx
401f8a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
401f90:	ff d6                	call   *%esi
401f92:	83 c4 08             	add    $0x8,%esp
401f95:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401f98:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401f9f:	59                   	pop    %ecx
401fa0:	5e                   	pop    %esi
401fa1:	8b e5                	mov    %ebp,%esp
401fa3:	5d                   	pop    %ebp
401fa4:	c2 04 00             	ret    $0x4
401fa7:	cc                   	int3
401fa8:	cc                   	int3
401fa9:	cc                   	int3
401faa:	cc                   	int3
401fab:	cc                   	int3
401fac:	cc                   	int3
401fad:	cc                   	int3
401fae:	cc                   	int3
401faf:	cc                   	int3
401fb0:	56                   	push   %esi
401fb1:	8b f1                	mov    %ecx,%esi
401fb3:	8b 4e 14             	mov    0x14(%esi),%ecx
401fb6:	83 f9 08             	cmp    $0x8,%ecx
401fb9:	72 2d                	jb     0x401fe8
401fbb:	8b 06                	mov    (%esi),%eax
401fbd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401fc4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401fca:	72 12                	jb     0x401fde
401fcc:	8b 50 fc             	mov    -0x4(%eax),%edx
401fcf:	83 c1 23             	add    $0x23,%ecx
401fd2:	2b c2                	sub    %edx,%eax
401fd4:	83 c0 fc             	add    $0xfffffffc,%eax
401fd7:	83 f8 1f             	cmp    $0x1f,%eax
401fda:	77 21                	ja     0x401ffd
401fdc:	8b c2                	mov    %edx,%eax
401fde:	51                   	push   %ecx
401fdf:	50                   	push   %eax
401fe0:	e8 23 7a 06 00       	call   0x469a08
401fe5:	83 c4 08             	add    $0x8,%esp
401fe8:	33 c0                	xor    %eax,%eax
401fea:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
401ff1:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
401ff8:	66 89 06             	mov    %ax,(%esi)
401ffb:	5e                   	pop    %esi
401ffc:	c3                   	ret
401ffd:	e8 2f 76 07 00       	call   0x479631
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:	55                   	push   %ebp
402011:	8b ec                	mov    %esp,%ebp
402013:	8b 55 08             	mov    0x8(%ebp),%edx
402016:	8b c2                	mov    %edx,%eax
402018:	56                   	push   %esi
402019:	8b f1                	mov    %ecx,%esi
40201b:	57                   	push   %edi
40201c:	8d 78 02             	lea    0x2(%eax),%edi
40201f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
402025:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40202c:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
402033:	66 8b 08             	mov    (%eax),%cx
402036:	83 c0 02             	add    $0x2,%eax
402039:	66 85 c9             	test   %cx,%cx
40203c:	75 f5                	jne    0x402033
40203e:	2b c7                	sub    %edi,%eax
402040:	8b ce                	mov    %esi,%ecx
402042:	d1 f8                	sar    $1,%eax
402044:	50                   	push   %eax
402045:	52                   	push   %edx
402046:	e8 15 00 00 00       	call   0x402060
40204b:	5f                   	pop    %edi
40204c:	8b c6                	mov    %esi,%eax
40204e:	5e                   	pop    %esi
40204f:	5d                   	pop    %ebp
402050:	c2 04 00             	ret    $0x4
402053:	cc                   	int3
402054:	cc                   	int3
402055:	cc                   	int3
402056:	cc                   	int3
402057:	cc                   	int3
402058:	cc                   	int3
402059:	cc                   	int3
40205a:	cc                   	int3
40205b:	cc                   	int3
40205c:	cc                   	int3
40205d:	cc                   	int3
40205e:	cc                   	int3
40205f:	cc                   	int3
402060:	55                   	push   %ebp
402061:	8b ec                	mov    %esp,%ebp
402063:	83 ec 08             	sub    $0x8,%esp
402066:	8b 45 08             	mov    0x8(%ebp),%eax
402069:	53                   	push   %ebx
40206a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40206d:	89 45 f8             	mov    %eax,-0x8(%ebp)
402070:	56                   	push   %esi
402071:	57                   	push   %edi
402072:	8b f9                	mov    %ecx,%edi
402074:	89 7d fc             	mov    %edi,-0x4(%ebp)
402077:	81 fb fe ff ff 7f    	cmp    $0x7ffffffe,%ebx
40207d:	77 7f                	ja     0x4020fe
40207f:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
402086:	83 fb 08             	cmp    $0x8,%ebx
402089:	73 20                	jae    0x4020ab
40208b:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
40208e:	89 5f 10             	mov    %ebx,0x10(%edi)
402091:	56                   	push   %esi
402092:	50                   	push   %eax
402093:	57                   	push   %edi
402094:	e8 87 95 06 00       	call   0x46b620
402099:	83 c4 0c             	add    $0xc,%esp
40209c:	33 c0                	xor    %eax,%eax
40209e:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
4020a2:	5f                   	pop    %edi
4020a3:	5e                   	pop    %esi
4020a4:	5b                   	pop    %ebx
4020a5:	8b e5                	mov    %ebp,%esp
4020a7:	5d                   	pop    %ebp
4020a8:	c2 08 00             	ret    $0x8
4020ab:	8b f3                	mov    %ebx,%esi
4020ad:	83 ce 07             	or     $0x7,%esi
4020b0:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
4020b6:	76 07                	jbe    0x4020bf
4020b8:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
4020bd:	eb 0a                	jmp    0x4020c9
4020bf:	b8 0a 00 00 00       	mov    $0xa,%eax
4020c4:	3b f0                	cmp    %eax,%esi
4020c6:	0f 42 f0             	cmovb  %eax,%esi
4020c9:	8d 46 01             	lea    0x1(%esi),%eax
4020cc:	50                   	push   %eax
4020cd:	e8 3e 00 00 00       	call   0x402110
4020d2:	8b f8                	mov    %eax,%edi
4020d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4020d7:	89 70 14             	mov    %esi,0x14(%eax)
4020da:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
4020dd:	56                   	push   %esi
4020de:	ff 75 f8             	push   -0x8(%ebp)
4020e1:	89 38                	mov    %edi,(%eax)
4020e3:	57                   	push   %edi
4020e4:	89 58 10             	mov    %ebx,0x10(%eax)
4020e7:	e8 34 95 06 00       	call   0x46b620
4020ec:	83 c4 0c             	add    $0xc,%esp
4020ef:	33 c0                	xor    %eax,%eax
4020f1:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
4020f5:	5f                   	pop    %edi
4020f6:	5e                   	pop    %esi
4020f7:	5b                   	pop    %ebx
4020f8:	8b e5                	mov    %ebp,%esp
4020fa:	5d                   	pop    %ebp
4020fb:	c2 08 00             	ret    $0x8
4020fe:	e8 dd f2 ff ff       	call   0x4013e0
402103:	cc                   	int3
402104:	cc                   	int3
402105:	cc                   	int3
402106:	cc                   	int3
402107:	cc                   	int3
402108:	cc                   	int3
402109:	cc                   	int3
40210a:	cc                   	int3
40210b:	cc                   	int3
40210c:	cc                   	int3
40210d:	cc                   	int3
40210e:	cc                   	int3
40210f:	cc                   	int3
402110:	55                   	push   %ebp
402111:	8b ec                	mov    %esp,%ebp
402113:	8b 45 08             	mov    0x8(%ebp),%eax
402116:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40211b:	77 43                	ja     0x402160
40211d:	03 c0                	add    %eax,%eax
40211f:	3d 00 10 00 00       	cmp    $0x1000,%eax
402124:	72 23                	jb     0x402149
402126:	8d 48 23             	lea    0x23(%eax),%ecx
402129:	3b c8                	cmp    %eax,%ecx
40212b:	76 33                	jbe    0x402160
40212d:	51                   	push   %ecx
40212e:	e8 a5 78 06 00       	call   0x4699d8
402133:	8b c8                	mov    %eax,%ecx
402135:	83 c4 04             	add    $0x4,%esp
402138:	85 c9                	test   %ecx,%ecx
40213a:	74 29                	je     0x402165
40213c:	8d 41 23             	lea    0x23(%ecx),%eax
40213f:	83 e0 e0             	and    $0xffffffe0,%eax
402142:	89 48 fc             	mov    %ecx,-0x4(%eax)
402145:	5d                   	pop    %ebp
402146:	c2 04 00             	ret    $0x4
402149:	85 c0                	test   %eax,%eax
40214b:	74 0d                	je     0x40215a
40214d:	50                   	push   %eax
40214e:	e8 85 78 06 00       	call   0x4699d8
402153:	83 c4 04             	add    $0x4,%esp
402156:	5d                   	pop    %ebp
402157:	c2 04 00             	ret    $0x4
40215a:	33 c0                	xor    %eax,%eax
40215c:	5d                   	pop    %ebp
40215d:	c2 04 00             	ret    $0x4
402160:	e8 db f1 ff ff       	call   0x401340
402165:	e8 c7 74 07 00       	call   0x479631
40216a:	cc                   	int3
40216b:	cc                   	int3
40216c:	cc                   	int3
40216d:	cc                   	int3
40216e:	cc                   	int3
40216f:	cc                   	int3
402170:	6a 00                	push   $0x0
402172:	6a 00                	push   $0x0
402174:	51                   	push   %ecx
402175:	ff 15 9c e0 49 00    	call   *0x49e09c
40217b:	85 c0                	test   %eax,%eax
40217d:	75 13                	jne    0x402192
40217f:	ff 15 30 e1 49 00    	call   *0x49e130
402185:	85 c0                	test   %eax,%eax