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
402187:	7e 0b                	jle    0x402194
402189:	0f b7 c0             	movzwl %ax,%eax
40218c:	0d 00 00 07 80       	or     $0x80070000,%eax
402191:	c3                   	ret
402192:	33 c0                	xor    %eax,%eax
402194:	c3                   	ret
402195:	cc                   	int3
402196:	cc                   	int3
402197:	cc                   	int3
402198:	cc                   	int3
402199:	cc                   	int3
40219a:	cc                   	int3
40219b:	cc                   	int3
40219c:	cc                   	int3
40219d:	cc                   	int3
40219e:	cc                   	int3
40219f:	cc                   	int3
4021a0:	55                   	push   %ebp
4021a1:	8b ec                	mov    %esp,%ebp
4021a3:	6a ff                	push   $0xffffffff
4021a5:	68 f5 73 49 00       	push   $0x4973f5
4021aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4021b0:	50                   	push   %eax
4021b1:	81 ec 20 01 00 00    	sub    $0x120,%esp
4021b7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4021bc:	33 c5                	xor    %ebp,%eax
4021be:	89 45 f0             	mov    %eax,-0x10(%ebp)
4021c1:	56                   	push   %esi
4021c2:	57                   	push   %edi
4021c3:	50                   	push   %eax
4021c4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4021c7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4021cd:	8b f1                	mov    %ecx,%esi
4021cf:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
4021d5:	8b 7d 08             	mov    0x8(%ebp),%edi
4021d8:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4021db:	89 7d ec             	mov    %edi,-0x14(%ebp)
4021de:	6a 26                	push   $0x26
4021e0:	68 d0 ef 4a 00       	push   $0x4aefd0
4021e5:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
4021ec:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4021f3:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4021fa:	e8 61 fe ff ff       	call   0x402060
4021ff:	83 c6 10             	add    $0x10,%esi
402202:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402209:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
402210:	8b c6                	mov    %esi,%eax
402212:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
402219:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40221c:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402220:	72 02                	jb     0x402224
402222:	8b 06                	mov    (%esi),%eax
402224:	50                   	push   %eax
402225:	e8 76 07 00 00       	call   0x4029a0
40222a:	84 c0                	test   %al,%al
40222c:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
402231:	0f 85 b8 00 00 00    	jne    0x4022ef
402237:	85 c0                	test   %eax,%eax
402239:	75 36                	jne    0x402271
40223b:	68 84 00 00 00       	push   $0x84
402240:	e8 93 77 06 00       	call   0x4699d8
402245:	8b f0                	mov    %eax,%esi
402247:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
40224d:	68 84 00 00 00       	push   $0x84
402252:	6a 00                	push   $0x0
402254:	56                   	push   %esi
402255:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402259:	e8 52 99 06 00       	call   0x46bbb0
40225e:	83 c4 10             	add    $0x10,%esp
402261:	8b ce                	mov    %esi,%ecx
402263:	e8 18 3a 00 00       	call   0x405c80
402268:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40226c:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
402271:	8b 48 04             	mov    0x4(%eax),%ecx
402274:	83 c0 04             	add    $0x4,%eax
402277:	68 20 f0 4a 00       	push   $0x4af020
40227c:	68 60 ea 4a 00       	push   $0x4aea60
402281:	50                   	push   %eax
402282:	8b 71 24             	mov    0x24(%ecx),%esi
402285:	8b ce                	mov    %esi,%ecx
402287:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40228d:	ff d6                	call   *%esi
40228f:	83 c4 0c             	add    $0xc,%esp
402292:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
402298:	8b cf                	mov    %edi,%ecx
40229a:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4022a1:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4022a8:	6a 26                	push   $0x26
4022aa:	68 d0 ef 4a 00       	push   $0x4aefd0
4022af:	e8 ac fd ff ff       	call   0x402060
4022b4:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4022b7:	83 f9 08             	cmp    $0x8,%ecx
4022ba:	0f 82 ad 06 00 00    	jb     0x40296d
4022c0:	8b 55 a8             	mov    -0x58(%ebp),%edx
4022c3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4022ca:	8b c2                	mov    %edx,%eax
4022cc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4022d2:	72 14                	jb     0x4022e8
4022d4:	8b 50 fc             	mov    -0x4(%eax),%edx
4022d7:	83 c1 23             	add    $0x23,%ecx
4022da:	2b c2                	sub    %edx,%eax
4022dc:	83 c0 fc             	add    $0xfffffffc,%eax
4022df:	83 f8 1f             	cmp    $0x1f,%eax
4022e2:	0f 87 ae 06 00 00    	ja     0x402996
4022e8:	51                   	push   %ecx
4022e9:	52                   	push   %edx
4022ea:	e9 76 06 00 00       	jmp    0x402965
4022ef:	85 c0                	test   %eax,%eax
4022f1:	75 39                	jne    0x40232c
4022f3:	68 84 00 00 00       	push   $0x84
4022f8:	e8 db 76 06 00       	call   0x4699d8
4022fd:	8b f0                	mov    %eax,%esi
4022ff:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
402305:	68 84 00 00 00       	push   $0x84
40230a:	6a 00                	push   $0x0
40230c:	56                   	push   %esi
40230d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402311:	e8 9a 98 06 00       	call   0x46bbb0
402316:	83 c4 10             	add    $0x10,%esp
402319:	8b ce                	mov    %esi,%ecx
40231b:	e8 60 39 00 00       	call   0x405c80
402320:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402324:	8b 75 e4             	mov    -0x1c(%ebp),%esi
402327:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
40232c:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
402332:	83 c0 04             	add    $0x4,%eax
402335:	50                   	push   %eax
402336:	8d 41 2c             	lea    0x2c(%ecx),%eax
402339:	50                   	push   %eax
40233a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40233d:	50                   	push   %eax
40233e:	0f b6 41 28          	movzbl 0x28(%ecx),%eax
402342:	8d 51 04             	lea    0x4(%ecx),%edx
402345:	50                   	push   %eax
402346:	8d 45 c0             	lea    -0x40(%ebp),%eax
402349:	8b ce                	mov    %esi,%ecx
40234b:	50                   	push   %eax
40234c:	e8 7f 26 01 00       	call   0x4149d0
402351:	83 c4 14             	add    $0x14,%esp
402354:	84 c0                	test   %al,%al
402356:	0f 85 46 03 00 00    	jne    0x4026a2
40235c:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
402361:	85 c0                	test   %eax,%eax
402363:	75 39                	jne    0x40239e
402365:	68 84 00 00 00       	push   $0x84
40236a:	e8 69 76 06 00       	call   0x4699d8
40236f:	8b f0                	mov    %eax,%esi
402371:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
402377:	68 84 00 00 00       	push   $0x84
40237c:	6a 00                	push   $0x0
40237e:	56                   	push   %esi
40237f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
402383:	e8 28 98 06 00       	call   0x46bbb0
402388:	83 c4 10             	add    $0x10,%esp
40238b:	8b ce                	mov    %esi,%ecx
40238d:	e8 ee 38 00 00       	call   0x405c80
402392:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402396:	8b 75 e4             	mov    -0x1c(%ebp),%esi
402399:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
40239e:	83 c0 04             	add    $0x4,%eax
4023a1:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4023a5:	72 05                	jb     0x4023ac
4023a7:	8b 36                	mov    (%esi),%esi
4023a9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4023ac:	ff 75 ec             	push   -0x14(%ebp)
4023af:	8b 30                	mov    (%eax),%esi
4023b1:	ff 75 c0             	push   -0x40(%ebp)
4023b4:	ff 75 e4             	push   -0x1c(%ebp)
4023b7:	8b 76 24             	mov    0x24(%esi),%esi
4023ba:	8b ce                	mov    %esi,%ecx
4023bc:	68 98 f0 4a 00       	push   $0x4af098
4023c1:	68 60 ea 4a 00       	push   $0x4aea60
4023c6:	50                   	push   %eax
4023c7:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4023cd:	ff d6                	call   *%esi