406202:	55                   	push   %ebp
406203:	8b ec                	mov    %esp,%ebp
406205:	56                   	push   %esi
406206:	8b f1                	mov    %ecx,%esi
406208:	e8 23 00 00 00       	call   0x406230
40620d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406211:	74 08                	je     0x40621b
406213:	56                   	push   %esi
406214:	ff 15 cc b2 41 00    	call   *0x41b2cc
40621a:	59                   	pop    %ecx
40621b:	8b c6                	mov    %esi,%eax
40621d:	5e                   	pop    %esi
40621e:	5d                   	pop    %ebp
40621f:	c2 04 00             	ret    $0x4
406222:	cc                   	int3
406223:	cc                   	int3
406224:	cc                   	int3
406225:	cc                   	int3
406226:	cc                   	int3
406227:	cc                   	int3
406228:	cc                   	int3
406229:	cc                   	int3
40622a:	cc                   	int3
40622b:	cc                   	int3
40622c:	cc                   	int3
40622d:	cc                   	int3
40622e:	cc                   	int3
40622f:	cc                   	int3
406230:	8b ff                	mov    %edi,%edi
406232:	56                   	push   %esi
406233:	8b f1                	mov    %ecx,%esi
406235:	8d 4e 64             	lea    0x64(%esi),%ecx
406238:	e8 c7 f9 ff ff       	call   0x405c04
40623d:	8d 4e 5c             	lea    0x5c(%esi),%ecx
406240:	e8 bf f9 ff ff       	call   0x405c04
406245:	8b ce                	mov    %esi,%ecx
406247:	5e                   	pop    %esi
406248:	ff 25 d4 b2 41 00    	jmp    *0x41b2d4
40624e:	8b ff                	mov    %edi,%edi
406250:	56                   	push   %esi
406251:	8b 35 50 97 41 00    	mov    0x419750,%esi
406257:	85 f6                	test   %esi,%esi
406259:	74 0b                	je     0x406266
40625b:	51                   	push   %ecx
40625c:	8b ce                	mov    %esi,%ecx
40625e:	ff 15 90 b3 41 00    	call   *0x41b390
406264:	ff d6                	call   *%esi
406266:	5e                   	pop    %esi
406267:	c3                   	ret
406268:	cc                   	int3
406269:	cc                   	int3
40626a:	cc                   	int3
40626b:	cc                   	int3
40626c:	cc                   	int3
40626d:	cc                   	int3
40626e:	cc                   	int3
40626f:	cc                   	int3
406270:	6a 00                	push   $0x0
406272:	6a 00                	push   $0x0
406274:	e8 9d d9 00 00       	call   0x413c16
406279:	cc                   	int3
40627a:	cc                   	int3
40627b:	cc                   	int3
40627c:	cc                   	int3
40627d:	cc                   	int3
40627e:	cc                   	int3
40627f:	cc                   	int3
406280:	8b ff                	mov    %edi,%edi
406282:	55                   	push   %ebp
406283:	8b ec                	mov    %esp,%ebp
406285:	83 ec 6c             	sub    $0x6c,%esp
406288:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40628b:	ff 75 08             	push   0x8(%ebp)
40628e:	e8 95 fe ff ff       	call   0x406128
406293:	68 28 4f 41 00       	push   $0x414f28
406298:	8d 45 94             	lea    -0x6c(%ebp),%eax
40629b:	50                   	push   %eax
40629c:	e8 75 d9 00 00       	call   0x413c16
4062a1:	cc                   	int3
4062a2:	cc                   	int3
4062a3:	cc                   	int3
4062a4:	cc                   	int3
4062a5:	cc                   	int3
4062a6:	cc                   	int3
4062a7:	cc                   	int3
4062a8:	cc                   	int3
4062a9:	cc                   	int3
4062aa:	cc                   	int3
4062ab:	cc                   	int3
4062ac:	cc                   	int3
4062ad:	cc                   	int3
4062ae:	cc                   	int3
4062af:	cc                   	int3
4062b0:	8b ff                	mov    %edi,%edi
4062b2:	55                   	push   %ebp
4062b3:	8b ec                	mov    %esp,%ebp
4062b5:	51                   	push   %ecx
4062b6:	53                   	push   %ebx
4062b7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4062ba:	56                   	push   %esi
4062bb:	57                   	push   %edi
4062bc:	8b f1                	mov    %ecx,%esi
4062be:	53                   	push   %ebx
4062bf:	89 75 fc             	mov    %esi,-0x4(%ebp)
4062c2:	ff 15 dc b2 41 00    	call   *0x41b2dc
4062c8:	8d 56 0c             	lea    0xc(%esi),%edx
4062cb:	c7 06 4c 15 40 00    	movl   $0x40154c,(%esi)
4062d1:	6a 14                	push   $0x14
4062d3:	8d 43 0c             	lea    0xc(%ebx),%eax
4062d6:	8b fa                	mov    %edx,%edi
4062d8:	59                   	pop    %ecx
4062d9:	8b f0                	mov    %eax,%esi
4062db:	83 c0 50             	add    $0x50,%eax
4062de:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4062e0:	50                   	push   %eax
4062e1:	8d 4a 50             	lea    0x50(%edx),%ecx
4062e4:	e8 e8 f8 ff ff       	call   0x405bd1
4062e9:	8b 75 fc             	mov    -0x4(%ebp),%esi
4062ec:	8d 43 64             	lea    0x64(%ebx),%eax
4062ef:	50                   	push   %eax
4062f0:	8d 4e 64             	lea    0x64(%esi),%ecx
4062f3:	e8 d9 f8 ff ff       	call   0x405bd1
4062f8:	5f                   	pop    %edi
4062f9:	8b c6                	mov    %esi,%eax
4062fb:	5e                   	pop    %esi
4062fc:	5b                   	pop    %ebx
4062fd:	c9                   	leave
4062fe:	c2 04 00             	ret    $0x4
406301:	8b ff                	mov    %edi,%edi
406303:	55                   	push   %ebp
406304:	8b ec                	mov    %esp,%ebp
406306:	83 ec 20             	sub    $0x20,%esp
406309:	8b 45 08             	mov    0x8(%ebp),%eax
40630c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40630f:	8b 45 0c             	mov    0xc(%ebp),%eax
406312:	89 45 f0             	mov    %eax,-0x10(%ebp)
406315:	8b 45 10             	mov    0x10(%ebp),%eax
406318:	89 45 f4             	mov    %eax,-0xc(%ebp)
40631b:	8b 45 14             	mov    0x14(%ebp),%eax
40631e:	53                   	push   %ebx
40631f:	8b 5d 28             	mov    0x28(%ebp),%ebx
406322:	89 45 ec             	mov    %eax,-0x14(%ebp)
406325:	8b 45 30             	mov    0x30(%ebp),%eax
406328:	56                   	push   %esi
406329:	8b 75 38             	mov    0x38(%ebp),%esi
40632c:	57                   	push   %edi
40632d:	33 ff                	xor    %edi,%edi
40632f:	89 45 e0             	mov    %eax,-0x20(%ebp)
406332:	66 89 3b             	mov    %di,(%ebx)
406335:	c6 00 00             	movb   $0x0,(%eax)
406338:	33 c0                	xor    %eax,%eax
40633a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40633d:	8b 45 18             	mov    0x18(%ebp),%eax
406340:	2b c7                	sub    %edi,%eax
406342:	89 55 e8             	mov    %edx,-0x18(%ebp)
406345:	8b 7d 1c             	mov    0x1c(%ebp),%edi
406348:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40634b:	74 46                	je     0x406393
40634d:	83 e8 01             	sub    $0x1,%eax
406350:	74 38                	je     0x40638a
406352:	83 e8 01             	sub    $0x1,%eax
406355:	74 0d                	je     0x406364
406357:	83 e8 01             	sub    $0x1,%eax
40635a:	75 41                	jne    0x40639d
40635c:	57                   	push   %edi
40635d:	e8 7e f9 ff ff       	call   0x405ce0
406362:	eb 36                	jmp    0x40639a
406364:	85 ff                	test   %edi,%edi
406366:	78 19                	js     0x406381
406368:	bf 9c 02 07 80       	mov    $0x8007029c,%edi
40636d:	57                   	push   %edi
40636e:	6a 02                	push   $0x2
406370:	ff 75 ec             	push   -0x14(%ebp)
406373:	ff 75 f4             	push   -0xc(%ebp)
406376:	ff 75 f0             	push   -0x10(%ebp)
406379:	ff 75 f8             	push   -0x8(%ebp)
40637c:	e8 ff 02 00 00       	call   0x406680
406381:	8b cf                	mov    %edi,%ecx
406383:	e8 3a f9 ff ff       	call   0x405cc2
406388:	eb 10                	jmp    0x40639a
40638a:	8b cf                	mov    %edi,%ecx
40638c:	e8 1e f9 ff ff       	call   0x405caf
406391:	eb 07                	jmp    0x40639a
406393:	8b cf                	mov    %edi,%ecx
406395:	e8 02 f9 ff ff       	call   0x405c9c
40639a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40639d:	8b 45 18             	mov    0x18(%ebp),%eax
4063a0:	89 06                	mov    %eax,(%esi)
4063a2:	33 c0                	xor    %eax,%eax
4063a4:	89 7e 04             	mov    %edi,0x4(%esi)
4063a7:	40                   	inc    %eax
4063a8:	f0 0f c1 05 d4 97 41 	lock xadd %eax,0x4197d4
4063af:	00
4063b0:	40                   	inc    %eax
4063b1:	89 46 08             	mov    %eax,0x8(%esi)
4063b4:	8b 45 20             	mov    0x20(%ebp),%eax
4063b7:	85 c0                	test   %eax,%eax
4063b9:	74 07                	je     0x4063c2
4063bb:	33 c9                	xor    %ecx,%ecx
4063bd:	66 39 08             	cmp    %cx,(%eax)
4063c0:	75 02                	jne    0x4063c4
4063c2:	33 c0                	xor    %eax,%eax
4063c4:	89 46 0c             	mov    %eax,0xc(%esi)
4063c7:	ff 15 38 b1 41 00    	call   *0x41b138
4063cd:	89 46 10             	mov    %eax,0x10(%esi)
4063d0:	8d 7e 2c             	lea    0x2c(%esi),%edi
4063d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4063d6:	33 d2                	xor    %edx,%edx
4063d8:	89 46 1c             	mov    %eax,0x1c(%esi)
4063db:	8b 45 e8             	mov    -0x18(%ebp),%eax
4063de:	89 46 20             	mov    %eax,0x20(%esi)
4063e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4063e4:	89 46 24             	mov    %eax,0x24(%esi)
4063e7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4063ea:	89 46 14             	mov    %eax,0x14(%esi)
4063ed:	8b 45 f0             	mov    -0x10(%ebp),%eax
4063f0:	89 46 18             	mov    %eax,0x18(%esi)
4063f3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4063f6:	89 46 48             	mov    %eax,0x48(%esi)
4063f9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4063fc:	89 46 4c             	mov    %eax,0x4c(%esi)
4063ff:	33 c0                	xor    %eax,%eax
406401:	6a 06                	push   $0x6
406403:	59                   	pop    %ecx
406404:	89 56 28             	mov    %edx,0x28(%esi)
406407:	f3 ab                	rep stos %eax,%es:(%edi)
406409:	8b 3d 58 97 41 00    	mov    0x419758,%edi
40640f:	85 ff                	test   %edi,%edi
406411:	74 0a                	je     0x40641d
406413:	8b cf                	mov    %edi,%ecx
406415:	ff 15 90 b3 41 00    	call   *0x41b390
40641b:	ff d7                	call   *%edi
40641d:	8b 3d 34 97 41 00    	mov    0x419734,%edi
406423:	89 46 44             	mov    %eax,0x44(%esi)
406426:	85 ff                	test   %edi,%edi
406428:	74 13                	je     0x40643d
40642a:	68 00 04 00 00       	push   $0x400
40642f:	ff 75 e0             	push   -0x20(%ebp)
406432:	8b cf                	mov    %edi,%ecx
406434:	56                   	push   %esi
406435:	ff 15 90 b3 41 00    	call   *0x41b390
40643b:	ff d7                	call   *%edi
40643d:	8b 3d 2c 97 41 00    	mov    0x41972c,%edi
406443:	85 ff                	test   %edi,%edi
406445:	74 0b                	je     0x406452
406447:	56                   	push   %esi
406448:	8b cf                	mov    %edi,%ecx
40644a:	ff 15 90 b3 41 00    	call   *0x41b390
406450:	ff d7                	call   *%edi
406452:	8b 3d 48 97 41 00    	mov    0x419748,%edi
406458:	85 ff                	test   %edi,%edi
40645a:	74 0b                	je     0x406467
40645c:	56                   	push   %esi
40645d:	8b cf                	mov    %edi,%ecx
40645f:	ff 15 90 b3 41 00    	call   *0x41b390
406465:	ff d7                	call   *%edi
406467:	33 c0                	xor    %eax,%eax
406469:	39 46 04             	cmp    %eax,0x4(%esi)
40646c:	7c 11                	jl     0x40647f
40646e:	83 7d 18 03          	cmpl   $0x3,0x18(%ebp)
406472:	0f 85 bc 00 00 00    	jne    0x406534
406478:	c7 46 04 ff ff 00 80 	movl   $0x8000ffff,0x4(%esi)
40647f:	38 05 14 97 41 00    	cmp    %al,0x419714
406485:	75 4a                	jne    0x4064d1
406487:	8b 3d 0c 97 41 00    	mov    0x41970c,%edi
40648d:	85 ff                	test   %edi,%edi
40648f:	74 0f                	je     0x4064a0
406491:	8b cf                	mov    %edi,%ecx
406493:	ff 15 90 b3 41 00    	call   *0x41b390
406499:	ff d7                	call   *%edi
40649b:	0f b6 c0             	movzbl %al,%eax
40649e:	eb 0c                	jmp    0x4064ac
4064a0:	ff 15 74 b1 41 00    	call   *0x41b174
4064a6:	f7 d8                	neg    %eax
4064a8:	1b c0                	sbb    %eax,%eax
4064aa:	f7 d8                	neg    %eax
4064ac:	85 c0                	test   %eax,%eax
4064ae:	75 21                	jne    0x4064d1
4064b0:	8b 3d 18 97 41 00    	mov    0x419718,%edi
4064b6:	85 ff                	test   %edi,%edi
4064b8:	74 56                	je     0x406510
4064ba:	38 05 24 97 41 00    	cmp    %al,0x419724
4064c0:	75 4e                	jne    0x406510
4064c2:	50                   	push   %eax
4064c3:	50                   	push   %eax
4064c4:	56                   	push   %esi
4064c5:	8b cf                	mov    %edi,%ecx
4064c7:	ff 15 90 b3 41 00    	call   *0x41b390
4064cd:	ff d7                	call   *%edi
4064cf:	eb 3f                	jmp    0x406510
4064d1:	8b 3d 18 97 41 00    	mov    0x419718,%edi
4064d7:	85 ff                	test   %edi,%edi
4064d9:	74 1a                	je     0x4064f5
4064db:	80 3d 24 97 41 00 00 	cmpb   $0x0,0x419724
4064e2:	75 11                	jne    0x4064f5
4064e4:	68 00 08 00 00       	push   $0x800
4064e9:	53                   	push   %ebx
4064ea:	56                   	push   %esi
4064eb:	8b cf                	mov    %edi,%ecx
4064ed:	ff 15 90 b3 41 00    	call   *0x41b390
4064f3:	ff d7                	call   *%edi
4064f5:	33 c0                	xor    %eax,%eax
4064f7:	66 39 03             	cmp    %ax,(%ebx)
4064fa:	75 0d                	jne    0x406509
4064fc:	56                   	push   %esi
4064fd:	ba 00 08 00 00       	mov    $0x800,%edx
406502:	8b cb                	mov    %ebx,%ecx
406504:	e8 8d f4 ff ff       	call   0x405996
406509:	53                   	push   %ebx
40650a:	ff 15 48 b1 41 00    	call   *0x41b148
406510:	80 3d 1c 97 41 00 00 	cmpb   $0x0,0x41971c
406517:	74 14                	je     0x40652d
406519:	8b 35 3c 97 41 00    	mov    0x41973c,%esi
40651f:	85 f6                	test   %esi,%esi
406521:	74 0a                	je     0x40652d
406523:	8b ce                	mov    %esi,%ecx
406525:	ff 15 90 b3 41 00    	call   *0x41b390
40652b:	ff d6                	call   *%esi
40652d:	5f                   	pop    %edi
40652e:	5e                   	pop    %esi
40652f:	5b                   	pop    %ebx
406530:	c9                   	leave
406531:	c2 34 00             	ret    $0x34
406534:	e8 7e 02 00 00       	call   0x4067b7
406539:	cc                   	int3
40653a:	8b ff                	mov    %edi,%edi
40653c:	55                   	push   %ebp
40653d:	8b ec                	mov    %esp,%ebp
40653f:	83 ec 50             	sub    $0x50,%esp
406542:	56                   	push   %esi
406543:	57                   	push   %edi
406544:	8b 3d 60 97 41 00    	mov    0x419760,%edi
40654a:	8b f1                	mov    %ecx,%esi
40654c:	85 ff                	test   %edi,%edi
40654e:	74 0b                	je     0x40655b
406550:	56                   	push   %esi
406551:	8b cf                	mov    %edi,%ecx
406553:	ff 15 90 b3 41 00    	call   *0x41b390
406559:	ff d7                	call   *%edi
40655b:	6a 50                	push   $0x50
40655d:	8d 45 b0             	lea    -0x50(%ebp),%eax
406560:	6a 00                	push   $0x0
406562:	50                   	push   %eax
406563:	e8 f9 db 00 00       	call   0x414161
406568:	8b 4e 48             	mov    0x48(%esi),%ecx
40656b:	33 c0                	xor    %eax,%eax
40656d:	40                   	inc    %eax
40656e:	c7 45 b0 09 04 00 c0 	movl   $0xc0000409,-0x50(%ebp)
406575:	83 c4 0c             	add    $0xc,%esp
406578:	89 45 c0             	mov    %eax,-0x40(%ebp)