4122ae:	85 f6                	test   %esi,%esi
4122b0:	75 09                	jne    0x4122bb
4122b2:	e8 fc 3b ff ff       	call   0x405eb3
4122b7:	8b f8                	mov    %eax,%edi
4122b9:	eb 71                	jmp    0x41232c
4122bb:	83 ec 0c             	sub    $0xc,%esp
4122be:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
4122c4:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4122ca:	50                   	push   %eax
4122cb:	e8 41 52 ff ff       	call   0x407511
4122d0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4122d4:	8d 95 e0 fd ff ff    	lea    -0x220(%ebp),%edx
4122da:	83 a5 e0 fd ff ff 00 	andl   $0x0,-0x220(%ebp)
4122e1:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
4122e7:	e8 67 45 ff ff       	call   0x406853
4122ec:	8b f8                	mov    %eax,%edi
4122ee:	85 ff                	test   %edi,%edi
4122f0:	79 07                	jns    0x4122f9
4122f2:	ba 26 01 00 00       	mov    $0x126,%edx
4122f7:	eb 66                	jmp    0x41235f
4122f9:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4122ff:	85 c0                	test   %eax,%eax
412301:	74 3f                	je     0x412342
412303:	89 03                	mov    %eax,(%ebx)
412305:	8b 08                	mov    (%eax),%ecx
412307:	8b 03                	mov    (%ebx),%eax
412309:	41                   	inc    %ecx
41230a:	89 08                	mov    %ecx,(%eax)
41230c:	33 ff                	xor    %edi,%edi
41230e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
412312:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
412319:	74 0b                	je     0x412326
41231b:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
412321:	e8 cb 44 ff ff       	call   0x4067f1
412326:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
41232c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
412330:	85 f6                	test   %esi,%esi
412332:	74 06                	je     0x41233a
412334:	56                   	push   %esi
412335:	e8 92 44 ff ff       	call   0x4067cc
41233a:	8b c7                	mov    %edi,%eax
41233c:	e8 ef 18 00 00       	call   0x413c30
412341:	c3                   	ret
412342:	53                   	push   %ebx
412343:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
412349:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
41234f:	e8 31 01 00 00       	call   0x412485
412354:	8b f8                	mov    %eax,%edi
412356:	85 ff                	test   %edi,%edi
412358:	79 b2                	jns    0x41230c
41235a:	ba 2e 01 00 00       	mov    $0x12e,%edx
41235f:	57                   	push   %edi
412360:	51                   	push   %ecx
412361:	8b 4d 04             	mov    0x4(%ebp),%ecx
412364:	e8 dd 43 ff ff       	call   0x406746
412369:	eb a3                	jmp    0x41230e
41236b:	8b ff                	mov    %edi,%edi
41236d:	55                   	push   %ebp
41236e:	8b ec                	mov    %esp,%ebp
412370:	51                   	push   %ecx
412371:	53                   	push   %ebx
412372:	8b d9                	mov    %ecx,%ebx
412374:	e8 fb 3b ff ff       	call   0x405f74
412379:	84 c0                	test   %al,%al
41237b:	74 13                	je     0x412390
41237d:	8b 03                	mov    (%ebx),%eax
41237f:	83 e8 01             	sub    $0x1,%eax
412382:	89 03                	mov    %eax,(%ebx)
412384:	75 7c                	jne    0x412402
412386:	8d 4b 10             	lea    0x10(%ebx),%ecx
412389:	e8 dc f4 ff ff       	call   0x41186a
41238e:	eb 72                	jmp    0x412402
412390:	56                   	push   %esi
412391:	83 ec 0c             	sub    $0xc,%esp
412394:	8d 45 fc             	lea    -0x4(%ebp),%eax
412397:	8d 4b 04             	lea    0x4(%ebx),%ecx
41239a:	50                   	push   %eax
41239b:	e8 71 51 ff ff       	call   0x407511
4123a0:	8b 03                	mov    (%ebx),%eax
4123a2:	83 e8 01             	sub    $0x1,%eax
4123a5:	89 03                	mov    %eax,(%ebx)
4123a7:	75 4b                	jne    0x4123f4
4123a9:	57                   	push   %edi
4123aa:	33 f6                	xor    %esi,%esi
4123ac:	8d 4b 08             	lea    0x8(%ebx),%ecx
4123af:	56                   	push   %esi
4123b0:	e8 fd 4c ff ff       	call   0x4070b2
4123b5:	56                   	push   %esi
4123b6:	8d 4b 0c             	lea    0xc(%ebx),%ecx
4123b9:	e8 f4 4c ff ff       	call   0x4070b2
4123be:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4123c1:	74 17                	je     0x4123da
4123c3:	ff 15 44 b1 41 00    	call   *0x41b144
4123c9:	ff 75 fc             	push   -0x4(%ebp)
4123cc:	8b f8                	mov    %eax,%edi
4123ce:	e8 1e 44 ff ff       	call   0x4067f1
4123d3:	57                   	push   %edi
4123d4:	ff 15 2c b1 41 00    	call   *0x41b12c
4123da:	51                   	push   %ecx
4123db:	8b cb                	mov    %ebx,%ecx
4123dd:	e8 23 00 00 00       	call   0x412405
4123e2:	53                   	push   %ebx
4123e3:	56                   	push   %esi
4123e4:	ff 15 68 b1 41 00    	call   *0x41b168
4123ea:	50                   	push   %eax
4123eb:	ff 15 28 b1 41 00    	call   *0x41b128
4123f1:	5f                   	pop    %edi
4123f2:	eb 03                	jmp    0x4123f7
4123f4:	8b 75 fc             	mov    -0x4(%ebp),%esi
4123f7:	85 f6                	test   %esi,%esi
4123f9:	74 06                	je     0x412401
4123fb:	56                   	push   %esi
4123fc:	e8 f0 43 ff ff       	call   0x4067f1
412401:	5e                   	pop    %esi
412402:	5b                   	pop    %ebx
412403:	c9                   	leave
412404:	c3                   	ret
412405:	8b ff                	mov    %edi,%edi
412407:	55                   	push   %ebp
412408:	8b ec                	mov    %esp,%ebp
41240a:	6a ff                	push   $0xffffffff
41240c:	68 6e 45 41 00       	push   $0x41456e
412411:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
412417:	50                   	push   %eax
412418:	53                   	push   %ebx
412419:	56                   	push   %esi
41241a:	57                   	push   %edi
41241b:	a1 18 51 41 00       	mov    0x415118,%eax
412420:	33 c5                	xor    %ebp,%eax
412422:	50                   	push   %eax
412423:	8d 45 f4             	lea    -0xc(%ebp),%eax
412426:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41242c:	8b d9                	mov    %ecx,%ebx
41242e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
412432:	8d 4b 10             	lea    0x10(%ebx),%ecx
412435:	e8 30 f4 ff ff       	call   0x41186a
41243a:	8d b3 80 00 00 00    	lea    0x80(%ebx),%esi
412440:	8d 4e 24             	lea    0x24(%esi),%ecx
412443:	e8 23 fd ff ff       	call   0x41216b
412448:	56                   	push   %esi
412449:	ff 15 cc b0 41 00    	call   *0x41b0cc
41244f:	8d 4b 14             	lea    0x14(%ebx),%ecx
412452:	e8 af f5 ff ff       	call   0x411a06
412457:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41245b:	8d 4b 08             	lea    0x8(%ebx),%ecx
41245e:	e8 00 4f ff ff       	call   0x407363
412463:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
412467:	74 08                	je     0x412471
412469:	ff 73 04             	push   0x4(%ebx)
41246c:	e8 5b 43 ff ff       	call   0x4067cc
412471:	8b c3                	mov    %ebx,%eax
412473:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412476:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41247d:	59                   	pop    %ecx
41247e:	5f                   	pop    %edi
41247f:	5e                   	pop    %esi
412480:	5b                   	pop    %ebx
412481:	c9                   	leave
412482:	c2 04 00             	ret    $0x4
412485:	8b ff                	mov    %edi,%edi
412487:	55                   	push   %ebp
412488:	8b ec                	mov    %esp,%ebp
41248a:	83 e4 f8             	and    $0xfffffff8,%esp
41248d:	83 ec 14             	sub    $0x14,%esp
412490:	8b 45 08             	mov    0x8(%ebp),%eax
412493:	53                   	push   %ebx
412494:	56                   	push   %esi
412495:	57                   	push   %edi
412496:	6a 08                	push   $0x8
412498:	89 54 24 18          	mov    %edx,0x18(%esp)
41249c:	8b f1                	mov    %ecx,%esi
41249e:	33 ff                	xor    %edi,%edi
4124a0:	ba a8 00 00 00       	mov    $0xa8,%edx
4124a5:	59                   	pop    %ecx
4124a6:	89 38                	mov    %edi,(%eax)
4124a8:	e8 e9 36 ff ff       	call   0x405b96
4124ad:	8b d8                	mov    %eax,%ebx
4124af:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4124b3:	85 db                	test   %ebx,%ebx
4124b5:	75 16                	jne    0x4124cd
4124b7:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4124bc:	ba 42 01 00 00       	mov    $0x142,%edx
4124c1:	57                   	push   %edi
4124c2:	51                   	push   %ecx
4124c3:	8b 4d 04             	mov    0x4(%ebp),%ecx
4124c6:	e8 7b 42 ff ff       	call   0x406746
4124cb:	eb 70                	jmp    0x41253d
4124cd:	89 7c 24 18          	mov    %edi,0x18(%esp)
4124d1:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4124d5:	f6 c3 03             	test   $0x3,%bl
4124d8:	75 6e                	jne    0x412548
4124da:	57                   	push   %edi
4124db:	c1 e8 02             	shr    $0x2,%eax
4124de:	50                   	push   %eax
4124df:	51                   	push   %ecx
4124e0:	56                   	push   %esi
4124e1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4124e5:	e8 c8 43 ff ff       	call   0x4068b2
4124ea:	8b f8                	mov    %eax,%edi
4124ec:	85 ff                	test   %edi,%edi
4124ee:	79 15                	jns    0x412505
4124f0:	57                   	push   %edi
4124f1:	51                   	push   %ecx
4124f2:	8b 4d 04             	mov    0x4(%ebp),%ecx
4124f5:	ba 45 01 00 00       	mov    $0x145,%edx
4124fa:	e8 47 42 ff ff       	call   0x406746
4124ff:	8b 74 24 10          	mov    0x10(%esp),%esi
412503:	eb 1b                	jmp    0x412520
412505:	8d 44 24 18          	lea    0x18(%esp),%eax
412509:	8b cb                	mov    %ebx,%ecx
41250b:	50                   	push   %eax
41250c:	ff 74 24 18          	push   0x18(%esp)
412510:	e8 5e 00 00 00       	call   0x412573
412515:	8b 45 08             	mov    0x8(%ebp),%eax
412518:	33 f6                	xor    %esi,%esi
41251a:	33 ff                	xor    %edi,%edi
41251c:	89 18                	mov    %ebx,(%eax)
41251e:	33 db                	xor    %ebx,%ebx
412520:	8d 4c 24 18          	lea    0x18(%esp),%ecx
412524:	e8 3a 4e ff ff       	call   0x407363
412529:	85 db                	test   %ebx,%ebx
41252b:	74 10                	je     0x41253d
41252d:	56                   	push   %esi
41252e:	6a 00                	push   $0x0
412530:	ff 15 68 b1 41 00    	call   *0x41b168
412536:	50                   	push   %eax
412537:	ff 15 28 b1 41 00    	call   *0x41b128
41253d:	8b c7                	mov    %edi,%eax
41253f:	5f                   	pop    %edi
412540:	5e                   	pop    %esi
412541:	5b                   	pop    %ebx
412542:	8b e5                	mov    %ebp,%esp
412544:	5d                   	pop    %ebp
412545:	c2 04 00             	ret    $0x4
412548:	e8 6a 42 ff ff       	call   0x4067b7
41254d:	cc                   	int3
41254e:	8b ff                	mov    %edi,%edi
412550:	55                   	push   %ebp
412551:	8b ec                	mov    %esp,%ebp
412553:	33 c0                	xor    %eax,%eax
412555:	50                   	push   %eax
412556:	50                   	push   %eax
412557:	50                   	push   %eax
412558:	ff 75 08             	push   0x8(%ebp)
41255b:	ff 15 dc b0 41 00    	call   *0x41b0dc
412561:	6a 01                	push   $0x1
412563:	ff 75 08             	push   0x8(%ebp)
412566:	ff 15 e4 b0 41 00    	call   *0x41b0e4
41256c:	5d                   	pop    %ebp
41256d:	ff 25 e0 b0 41 00    	jmp    *0x41b0e0
412573:	8b ff                	mov    %edi,%edi
412575:	55                   	push   %ebp
412576:	8b ec                	mov    %esp,%ebp
412578:	8b 55 08             	mov    0x8(%ebp),%edx
41257b:	56                   	push   %esi
41257c:	8b f1                	mov    %ecx,%esi
41257e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412581:	57                   	push   %edi
412582:	33 ff                	xor    %edi,%edi
412584:	68 94 00 00 00       	push   $0x94
412589:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
41258f:	8b 02                	mov    (%edx),%eax
412591:	89 46 04             	mov    %eax,0x4(%esi)
412594:	89 3a                	mov    %edi,(%edx)
412596:	8b 01                	mov    (%ecx),%eax
412598:	89 46 08             	mov    %eax,0x8(%esi)
41259b:	8b 41 04             	mov    0x4(%ecx),%eax
41259e:	89 39                	mov    %edi,(%ecx)
4125a0:	89 46 0c             	mov    %eax,0xc(%esi)
4125a3:	8d 46 14             	lea    0x14(%esi),%eax
4125a6:	57                   	push   %edi
4125a7:	50                   	push   %eax
4125a8:	89 79 04             	mov    %edi,0x4(%ecx)
4125ab:	e8 b1 1b 00 00       	call   0x414161
4125b0:	83 c4 0c             	add    $0xc,%esp
4125b3:	89 7e 10             	mov    %edi,0x10(%esi)
4125b6:	8d 4e 14             	lea    0x14(%esi),%ecx
4125b9:	e8 9f ef ff ff       	call   0x41155d
4125be:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
4125c4:	e8 a4 f9 ff ff       	call   0x411f6d
4125c9:	5f                   	pop    %edi
4125ca:	8b c6                	mov    %esi,%eax
4125cc:	5e                   	pop    %esi
4125cd:	5d                   	pop    %ebp
4125ce:	c2 08 00             	ret    $0x8
4125d1:	8b ff                	mov    %edi,%edi
4125d3:	55                   	push   %ebp
4125d4:	8b ec                	mov    %esp,%ebp
4125d6:	6a ff                	push   $0xffffffff
4125d8:	68 89 45 41 00       	push   $0x414589
4125dd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4125e3:	50                   	push   %eax
4125e4:	56                   	push   %esi
4125e5:	57                   	push   %edi
4125e6:	a1 18 51 41 00       	mov    0x415118,%eax
4125eb:	33 c5                	xor    %ebp,%eax
4125ed:	50                   	push   %eax
4125ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4125f1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4125f7:	8b 79 40             	mov    0x40(%ecx),%edi
4125fa:	85 ff                	test   %edi,%edi
4125fc:	74 11                	je     0x41260f
4125fe:	8b 07                	mov    (%edi),%eax
412600:	8b 70 0c             	mov    0xc(%eax),%esi
412603:	8b ce                	mov    %esi,%ecx
412605:	ff 15 90 b3 41 00    	call   *0x41b390
41260b:	8b cf                	mov    %edi,%ecx
41260d:	ff d6                	call   *%esi
41260f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412612:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412619:	59                   	pop    %ecx
41261a:	5f                   	pop    %edi
41261b:	5e                   	pop    %esi
41261c:	c9                   	leave
41261d:	c3                   	ret
41261e:	cc                   	int3
41261f:	cc                   	int3
412620:	8b ff                	mov    %edi,%edi
412622:	55                   	push   %ebp
412623:	8b ec                	mov    %esp,%ebp
412625:	56                   	push   %esi
412626:	8b 75 0c             	mov    0xc(%ebp),%esi
412629:	80 3e 00             	cmpb   $0x0,(%esi)
41262c:	74 22                	je     0x412650
41262e:	57                   	push   %edi
41262f:	8d 7e 10             	lea    0x10(%esi),%edi
412632:	57                   	push   %edi
412633:	ff 15 08 b1 41 00    	call   *0x41b108
412639:	c6 46 21 00          	movb   $0x0,0x21(%esi)
41263d:	85 ff                	test   %edi,%edi
41263f:	74 07                	je     0x412648
412641:	57                   	push   %edi
412642:	ff 15 0c b1 41 00    	call   *0x41b10c
412648:	8b ce                	mov    %esi,%ecx
41264a:	e8 a1 f5 ff ff       	call   0x411bf0
41264f:	5f                   	pop    %edi
412650:	5e                   	pop    %esi
412651:	5d                   	pop    %ebp
412652:	c2 0c 00             	ret    $0xc
412655:	cc                   	int3
412656:	cc                   	int3
412657:	cc                   	int3
412658:	cc                   	int3
412659:	cc                   	int3
41265a:	cc                   	int3
41265b:	cc                   	int3
41265c:	cc                   	int3
41265d:	cc                   	int3
41265e:	cc                   	int3
41265f:	cc                   	int3