42a372:	33 c0                	xor    %eax,%eax
42a374:	50                   	push   %eax
42a375:	50                   	push   %eax
42a376:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a379:	e8 58 0a ff ff       	call   0x41add6
42a37e:	cc                   	int3
42a37f:	8b ff                	mov    %edi,%edi
42a381:	55                   	push   %ebp
42a382:	8b ec                	mov    %esp,%ebp
42a384:	83 e4 f8             	and    $0xfffffff8,%esp
42a387:	83 ec 34             	sub    $0x34,%esp
42a38a:	a1 08 85 43 00       	mov    0x438508,%eax
42a38f:	33 c4                	xor    %esp,%eax
42a391:	89 44 24 30          	mov    %eax,0x30(%esp)
42a395:	56                   	push   %esi
42a396:	8b f1                	mov    %ecx,%esi
42a398:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
42a39c:	74 43                	je     0x42a3e1
42a39e:	a1 50 5f 40 00       	mov    0x405f50,%eax
42a3a3:	8d 4c 24 04          	lea    0x4(%esp),%ecx
42a3a7:	89 44 24 04          	mov    %eax,0x4(%esp)
42a3ab:	a1 54 5f 40 00       	mov    0x405f54,%eax
42a3b0:	89 44 24 08          	mov    %eax,0x8(%esp)
42a3b4:	a1 40 5f 40 00       	mov    0x405f40,%eax
42a3b9:	89 44 24 0c          	mov    %eax,0xc(%esp)
42a3bd:	a1 44 5f 40 00       	mov    0x405f44,%eax
42a3c2:	56                   	push   %esi
42a3c3:	89 44 24 14          	mov    %eax,0x14(%esp)
42a3c7:	a1 58 60 40 00       	mov    0x406058,%eax
42a3cc:	6a 03                	push   $0x3
42a3ce:	89 44 24 1c          	mov    %eax,0x1c(%esp)
42a3d2:	a1 5c 60 40 00       	mov    0x40605c,%eax
42a3d7:	5a                   	pop    %edx
42a3d8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
42a3dc:	e8 b0 05 00 00       	call   0x42a991
42a3e1:	80 7e 44 00          	cmpb   $0x0,0x44(%esi)
42a3e5:	74 46                	je     0x42a42d
42a3e7:	a1 80 60 40 00       	mov    0x406080,%eax
42a3ec:	8d 4c 24 04          	lea    0x4(%esp),%ecx
42a3f0:	89 44 24 04          	mov    %eax,0x4(%esp)
42a3f4:	a1 84 60 40 00       	mov    0x406084,%eax
42a3f9:	89 44 24 08          	mov    %eax,0x8(%esp)
42a3fd:	a1 28 5f 40 00       	mov    0x405f28,%eax
42a402:	89 44 24 0c          	mov    %eax,0xc(%esp)
42a406:	a1 2c 5f 40 00       	mov    0x405f2c,%eax
42a40b:	89 44 24 10          	mov    %eax,0x10(%esp)
42a40f:	a1 48 5f 40 00       	mov    0x405f48,%eax
42a414:	89 44 24 14          	mov    %eax,0x14(%esp)
42a418:	a1 4c 5f 40 00       	mov    0x405f4c,%eax
42a41d:	89 44 24 18          	mov    %eax,0x18(%esp)
42a421:	8d 46 24             	lea    0x24(%esi),%eax
42a424:	50                   	push   %eax
42a425:	6a 03                	push   $0x3
42a427:	5a                   	pop    %edx
42a428:	e8 64 05 00 00       	call   0x42a991
42a42d:	80 7e 68 00          	cmpb   $0x0,0x68(%esi)
42a431:	74 7c                	je     0x42a4af
42a433:	a1 50 60 40 00       	mov    0x406050,%eax
42a438:	8d 4c 24 04          	lea    0x4(%esp),%ecx
42a43c:	89 44 24 04          	mov    %eax,0x4(%esp)
42a440:	a1 54 60 40 00       	mov    0x406054,%eax
42a445:	89 44 24 08          	mov    %eax,0x8(%esp)
42a449:	a1 20 5f 40 00       	mov    0x405f20,%eax
42a44e:	89 44 24 0c          	mov    %eax,0xc(%esp)
42a452:	a1 24 5f 40 00       	mov    0x405f24,%eax
42a457:	89 44 24 10          	mov    %eax,0x10(%esp)
42a45b:	a1 40 60 40 00       	mov    0x406040,%eax
42a460:	89 44 24 14          	mov    %eax,0x14(%esp)
42a464:	a1 44 60 40 00       	mov    0x406044,%eax
42a469:	89 44 24 18          	mov    %eax,0x18(%esp)
42a46d:	a1 30 5f 40 00       	mov    0x405f30,%eax
42a472:	89 44 24 1c          	mov    %eax,0x1c(%esp)
42a476:	a1 34 5f 40 00       	mov    0x405f34,%eax
42a47b:	89 44 24 20          	mov    %eax,0x20(%esp)
42a47f:	a1 38 5f 40 00       	mov    0x405f38,%eax
42a484:	89 44 24 24          	mov    %eax,0x24(%esp)
42a488:	a1 3c 5f 40 00       	mov    0x405f3c,%eax
42a48d:	89 44 24 28          	mov    %eax,0x28(%esp)
42a491:	a1 48 60 40 00       	mov    0x406048,%eax
42a496:	89 44 24 2c          	mov    %eax,0x2c(%esp)
42a49a:	a1 4c 60 40 00       	mov    0x40604c,%eax
42a49f:	89 44 24 30          	mov    %eax,0x30(%esp)
42a4a3:	8d 46 48             	lea    0x48(%esi),%eax
42a4a6:	50                   	push   %eax
42a4a7:	6a 06                	push   $0x6
42a4a9:	5a                   	pop    %edx
42a4aa:	e8 e2 04 00 00       	call   0x42a991
42a4af:	8b 4c 24 34          	mov    0x34(%esp),%ecx
42a4b3:	5e                   	pop    %esi
42a4b4:	33 cc                	xor    %esp,%ecx
42a4b6:	e8 05 03 ff ff       	call   0x41a7c0
42a4bb:	8b e5                	mov    %ebp,%esp
42a4bd:	5d                   	pop    %ebp
42a4be:	c3                   	ret
42a4bf:	8b ff                	mov    %edi,%edi
42a4c1:	56                   	push   %esi
42a4c2:	8d b1 84 00 00 00    	lea    0x84(%ecx),%esi
42a4c8:	8b 46 04             	mov    0x4(%esi),%eax
42a4cb:	2b 06                	sub    (%esi),%eax
42a4cd:	83 f8 0c             	cmp    $0xc,%eax
42a4d0:	72 0c                	jb     0x42a4de
42a4d2:	8b ce                	mov    %esi,%ecx
42a4d4:	e8 54 45 00 00       	call   0x42ea2d
42a4d9:	8b 06                	mov    (%esi),%eax
42a4db:	89 46 04             	mov    %eax,0x4(%esi)
42a4de:	5e                   	pop    %esi
42a4df:	c3                   	ret
42a4e0:	33 c0                	xor    %eax,%eax
42a4e2:	89 0d 40 8a 43 00    	mov    %ecx,0x438a40
42a4e8:	40                   	inc    %eax
42a4e9:	f0 0f c1 05 d8 8a 43 	lock xadd %eax,0x438ad8
42a4f0:	00
42a4f1:	40                   	inc    %eax
42a4f2:	c3                   	ret
42a4f3:	6a 08                	push   $0x8
42a4f5:	b8 d4 f2 41 00       	mov    $0x41f2d4,%eax
42a4fa:	e8 0f 09 ff ff       	call   0x41ae0e
42a4ff:	8b f9                	mov    %ecx,%edi
42a501:	8b 75 0c             	mov    0xc(%ebp),%esi
42a504:	81 fe fe 00 00 00    	cmp    $0xfe,%esi
42a50a:	74 5d                	je     0x42a569
42a50c:	81 fe c8 00 00 00    	cmp    $0xc8,%esi
42a512:	72 14                	jb     0x42a528
42a514:	81 fe 00 01 00 00    	cmp    $0x100,%esi
42a51a:	7c 08                	jl     0x42a524
42a51c:	81 fe 00 02 00 00    	cmp    $0x200,%esi
42a522:	72 04                	jb     0x42a528
42a524:	32 c0                	xor    %al,%al
42a526:	eb 48                	jmp    0x42a570
42a528:	57                   	push   %edi
42a529:	ff 15 88 a2 43 00    	call   *0x43a288
42a52f:	89 7d ec             	mov    %edi,-0x14(%ebp)
42a532:	ff 75 10             	push   0x10(%ebp)
42a535:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a539:	8b cf                	mov    %edi,%ecx
42a53b:	56                   	push   %esi
42a53c:	ff 75 08             	push   0x8(%ebp)
42a53f:	e8 a1 00 00 00       	call   0x42a5e5
42a544:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42a548:	8a d8                	mov    %al,%bl
42a54a:	85 ff                	test   %edi,%edi
42a54c:	74 17                	je     0x42a565
42a54e:	8b 0d a0 a2 43 00    	mov    0x43a2a0,%ecx
42a554:	8d 55 f0             	lea    -0x10(%ebp),%edx
42a557:	89 4d ec             	mov    %ecx,-0x14(%ebp)
42a55a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42a55d:	89 7d f0             	mov    %edi,-0x10(%ebp)
42a560:	e8 ff 10 ff ff       	call   0x41b664
42a565:	8a c3                	mov    %bl,%al
42a567:	eb 07                	jmp    0x42a570
42a569:	e8 4a 01 00 00       	call   0x42a6b8
42a56e:	b0 01                	mov    $0x1,%al
42a570:	e8 67 08 ff ff       	call   0x41addc
42a575:	c2 0c 00             	ret    $0xc
42a578:	8b ff                	mov    %edi,%edi
42a57a:	55                   	push   %ebp
42a57b:	8b ec                	mov    %esp,%ebp
42a57d:	51                   	push   %ecx
42a57e:	51                   	push   %ecx
42a57f:	56                   	push   %esi
42a580:	8b f1                	mov    %ecx,%esi
42a582:	80 3e 00             	cmpb   $0x0,(%esi)
42a585:	74 59                	je     0x42a5e0
42a587:	e8 68 d6 ff ff       	call   0x427bf4
42a58c:	84 c0                	test   %al,%al
42a58e:	74 50                	je     0x42a5e0
42a590:	ff 75 10             	push   0x10(%ebp)
42a593:	8b 4e 0c             	mov    0xc(%esi),%ecx
42a596:	ff 75 0c             	push   0xc(%ebp)
42a599:	ff 75 08             	push   0x8(%ebp)
42a59c:	e8 52 ff ff ff       	call   0x42a4f3
42a5a1:	84 c0                	test   %al,%al
42a5a3:	74 3b                	je     0x42a5e0
42a5a5:	e8 27 fb fe ff       	call   0x41a0d1
42a5aa:	84 c0                	test   %al,%al
42a5ac:	75 32                	jne    0x42a5e0
42a5ae:	57                   	push   %edi
42a5af:	8d 7e 10             	lea    0x10(%esi),%edi
42a5b2:	57                   	push   %edi
42a5b3:	ff 15 88 a2 43 00    	call   *0x43a288
42a5b9:	56                   	push   %esi
42a5ba:	8d 56 21             	lea    0x21(%esi),%edx
42a5bd:	8d 4e 18             	lea    0x18(%esi),%ecx
42a5c0:	e8 60 97 ff ff       	call   0x423d25
42a5c5:	85 ff                	test   %edi,%edi
42a5c7:	74 16                	je     0x42a5df
42a5c9:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42a5ce:	8d 55 fc             	lea    -0x4(%ebp),%edx
42a5d1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42a5d4:	89 7d fc             	mov    %edi,-0x4(%ebp)
42a5d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
42a5da:	e8 85 10 ff ff       	call   0x41b664
42a5df:	5f                   	pop    %edi
42a5e0:	5e                   	pop    %esi
42a5e1:	c9                   	leave
42a5e2:	c2 0c 00             	ret    $0xc
42a5e5:	8b ff                	mov    %edi,%edi
42a5e7:	55                   	push   %ebp
42a5e8:	8b ec                	mov    %esp,%ebp
42a5ea:	8b 45 0c             	mov    0xc(%ebp),%eax
42a5ed:	56                   	push   %esi
42a5ee:	8b f1                	mov    %ecx,%esi
42a5f0:	83 f8 02             	cmp    $0x2,%eax
42a5f3:	74 2e                	je     0x42a623
42a5f5:	83 f8 03             	cmp    $0x3,%eax
42a5f8:	74 29                	je     0x42a623
42a5fa:	83 f8 06             	cmp    $0x6,%eax
42a5fd:	74 24                	je     0x42a623
42a5ff:	83 f8 07             	cmp    $0x7,%eax
42a602:	74 1f                	je     0x42a623
42a604:	3d 00 01 00 00       	cmp    $0x100,%eax
42a609:	7c 07                	jl     0x42a612
42a60b:	3d 80 01 00 00       	cmp    $0x180,%eax
42a610:	7c 11                	jl     0x42a623
42a612:	ff 75 10             	push   0x10(%ebp)
42a615:	8d 4e 28             	lea    0x28(%esi),%ecx
42a618:	ff 75 08             	push   0x8(%ebp)
42a61b:	50                   	push   %eax
42a61c:	e8 5e 00 00 00       	call   0x42a67f
42a621:	eb 10                	jmp    0x42a633
42a623:	51                   	push   %ecx
42a624:	ff 75 08             	push   0x8(%ebp)
42a627:	8d 4e 04             	lea    0x4(%esi),%ecx
42a62a:	50                   	push   %eax
42a62b:	e8 6c 00 00 00       	call   0x42a69c
42a630:	8a 46 24             	mov    0x24(%esi),%al
42a633:	5e                   	pop    %esi
42a634:	5d                   	pop    %ebp
42a635:	c2 0c 00             	ret    $0xc
42a638:	33 c0                	xor    %eax,%eax
42a63a:	89 0d 54 8a 43 00    	mov    %ecx,0x438a54
42a640:	40                   	inc    %eax
42a641:	f0 0f c1 05 dc 8e 43 	lock xadd %eax,0x438edc
42a648:	00
42a649:	40                   	inc    %eax
42a64a:	c3                   	ret
42a64b:	33 c0                	xor    %eax,%eax
42a64d:	89 0d e4 89 43 00    	mov    %ecx,0x4389e4
42a653:	40                   	inc    %eax
42a654:	f0 0f c1 05 10 8b 43 	lock xadd %eax,0x438b10
42a65b:	00
42a65c:	40                   	inc    %eax
42a65d:	c3                   	ret
42a65e:	cc                   	int3
42a65f:	cc                   	int3
42a660:	8b ff                	mov    %edi,%edi
42a662:	55                   	push   %ebp
42a663:	8b ec                	mov    %esp,%ebp
42a665:	8b 45 0c             	mov    0xc(%ebp),%eax
42a668:	6a 00                	push   $0x0
42a66a:	ff 75 10             	push   0x10(%ebp)
42a66d:	0d 00 00 00 40       	or     $0x40000000,%eax
42a672:	50                   	push   %eax
42a673:	ff 75 08             	push   0x8(%ebp)
42a676:	e8 73 35 00 00       	call   0x42dbee
42a67b:	5d                   	pop    %ebp
42a67c:	c2 0c 00             	ret    $0xc
42a67f:	8b ff                	mov    %edi,%edi
42a681:	55                   	push   %ebp
42a682:	8b ec                	mov    %esp,%ebp
42a684:	ff 75 10             	push   0x10(%ebp)
42a687:	8d 45 0c             	lea    0xc(%ebp),%eax
42a68a:	6a 04                	push   $0x4
42a68c:	50                   	push   %eax
42a68d:	6a 04                	push   $0x4
42a68f:	8d 45 08             	lea    0x8(%ebp),%eax
42a692:	50                   	push   %eax
42a693:	e8 b7 00 00 00       	call   0x42a74f
42a698:	5d                   	pop    %ebp
42a699:	c2 0c 00             	ret    $0xc
42a69c:	8b ff                	mov    %edi,%edi
42a69e:	55                   	push   %ebp
42a69f:	8b ec                	mov    %esp,%ebp
42a6a1:	6a 01                	push   $0x1
42a6a3:	6a 04                	push   $0x4
42a6a5:	8d 45 0c             	lea    0xc(%ebp),%eax
42a6a8:	50                   	push   %eax
42a6a9:	6a 04                	push   $0x4
42a6ab:	8d 45 08             	lea    0x8(%ebp),%eax
42a6ae:	50                   	push   %eax
42a6af:	e8 9b 00 00 00       	call   0x42a74f
42a6b4:	5d                   	pop    %ebp
42a6b5:	c2 0c 00             	ret    $0xc
42a6b8:	6a 74                	push   $0x74
42a6ba:	b8 f7 f2 41 00       	mov    $0x41f2f7,%eax
42a6bf:	e8 4a 07 ff ff       	call   0x41ae0e
42a6c4:	8b f1                	mov    %ecx,%esi
42a6c6:	8d 4d 80             	lea    -0x80(%ebp),%ecx
42a6c9:	e8 80 a7 ff ff       	call   0x424e4e
42a6ce:	33 ff                	xor    %edi,%edi
42a6d0:	56                   	push   %esi
42a6d1:	89 7d fc             	mov    %edi,-0x4(%ebp)
42a6d4:	ff 15 88 a2 43 00    	call   *0x43a288
42a6da:	8d 45 80             	lea    -0x80(%ebp),%eax
42a6dd:	8b ce                	mov    %esi,%ecx
42a6df:	50                   	push   %eax
42a6e0:	e8 c5 19 00 00       	call   0x42c0aa
42a6e5:	85 f6                	test   %esi,%esi
42a6e7:	74 16                	je     0x42a6ff
42a6e9:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42a6ee:	8d 55 f0             	lea    -0x10(%ebp),%edx
42a6f1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42a6f4:	89 75 f0             	mov    %esi,-0x10(%ebp)
42a6f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
42a6fa:	e8 65 0f ff ff       	call   0x41b664
42a6ff:	8d 4d 80             	lea    -0x80(%ebp),%ecx
42a702:	e8 78 fc ff ff       	call   0x42a37f
42a707:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
42a70a:	74 11                	je     0x42a71d
42a70c:	ff 75 e4             	push   -0x1c(%ebp)
42a70f:	57                   	push   %edi
42a710:	ff 15 24 a1 43 00    	call   *0x43a124
42a716:	50                   	push   %eax
42a717:	ff 15 20 a1 43 00    	call   *0x43a120
42a71d:	39 7d c0             	cmp    %edi,-0x40(%ebp)
42a720:	74 11                	je     0x42a733
42a722:	ff 75 c0             	push   -0x40(%ebp)
42a725:	57                   	push   %edi
42a726:	ff 15 24 a1 43 00    	call   *0x43a124
42a72c:	50                   	push   %eax
42a72d:	ff 15 20 a1 43 00    	call   *0x43a120
42a733:	39 7d 9c             	cmp    %edi,-0x64(%ebp)
42a736:	74 11                	je     0x42a749
42a738:	ff 75 9c             	push   -0x64(%ebp)
42a73b:	57                   	push   %edi
42a73c:	ff 15 24 a1 43 00    	call   *0x43a124
42a742:	50                   	push   %eax
42a743:	ff 15 20 a1 43 00    	call   *0x43a120
42a749:	e8 8e 06 ff ff       	call   0x41addc
42a74e:	c3                   	ret
42a74f:	6a 10                	push   $0x10
42a751:	b8 1d f3 41 00       	mov    $0x41f31d,%eax
42a756:	e8 b3 06 ff ff       	call   0x41ae0e
42a75b:	8b f1                	mov    %ecx,%esi
42a75d:	ff 75 18             	push   0x18(%ebp)
42a760:	8b 5d 14             	mov    0x14(%ebp),%ebx
42a763:	53                   	push   %ebx
42a764:	ff 75 10             	push   0x10(%ebp)
42a767:	ff 75 0c             	push   0xc(%ebp)
42a76a:	ff 75 08             	push   0x8(%ebp)
42a76d:	e8 b0 00 00 00       	call   0x42a822
42a772:	84 c0                	test   %al,%al
42a774:	74 07                	je     0x42a77d
42a776:	b0 01                	mov    $0x1,%al
42a778:	e9 9d 00 00 00       	jmp    0x42a81a
42a77d:	8b 45 0c             	mov    0xc(%ebp),%eax
42a780:	8d 4e 10             	lea    0x10(%esi),%ecx
42a783:	83 c0 20             	add    $0x20,%eax
42a786:	33 ff                	xor    %edi,%edi
42a788:	03 c3                	add    %ebx,%eax