40a3ad:	6a 4c                	push   $0x4c
40a3af:	59                   	pop    %ecx
40a3b0:	e8 01 d6 ff ff       	call   0x4079b6
40a3b5:	eb 4b                	jmp    0x40a402
40a3b7:	8d 8f ac 11 00 00    	lea    0x11ac(%edi),%ecx
40a3bd:	e8 73 e6 ff ff       	call   0x408a35
40a3c2:	8b d8                	mov    %eax,%ebx
40a3c4:	85 db                	test   %ebx,%ebx
40a3c6:	79 37                	jns    0x40a3ff
40a3c8:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a3cd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a3d2:	0f 84 84 01 00 00    	je     0x40a55c
40a3d8:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a3dc:	0f 84 7a 01 00 00    	je     0x40a55c
40a3e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a3e5:	53                   	push   %ebx
40a3e6:	51                   	push   %ecx
40a3e7:	ff 70 14             	push   0x14(%eax)
40a3ea:	ff 70 10             	push   0x10(%eax)
40a3ed:	6a 4d                	push   $0x4d
40a3ef:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a3f4:	59                   	pop    %ecx
40a3f5:	e8 bc d5 ff ff       	call   0x4079b6
40a3fa:	e9 5d 01 00 00       	jmp    0x40a55c
40a3ff:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a402:	8d b3 a0 11 00 00    	lea    0x11a0(%ebx),%esi
40a408:	56                   	push   %esi
40a409:	6a 38                	push   $0x38
40a40b:	8d 8f 64 05 00 00    	lea    0x564(%edi),%ecx
40a411:	5a                   	pop    %edx
40a412:	e8 27 11 00 00       	call   0x40b53e
40a417:	8b d8                	mov    %eax,%ebx
40a419:	85 db                	test   %ebx,%ebx
40a41b:	79 2f                	jns    0x40a44c
40a41d:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a422:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a427:	0f 84 2f 01 00 00    	je     0x40a55c
40a42d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a431:	0f 84 25 01 00 00    	je     0x40a55c
40a437:	53                   	push   %ebx
40a438:	56                   	push   %esi
40a439:	ff 70 14             	push   0x14(%eax)
40a43c:	ff 70 10             	push   0x10(%eax)
40a43f:	6a 4e                	push   $0x4e
40a441:	59                   	pop    %ecx
40a442:	e8 99 e6 ff ff       	call   0x408ae0
40a447:	e9 10 01 00 00       	jmp    0x40a55c
40a44c:	8b 75 08             	mov    0x8(%ebp),%esi
40a44f:	81 c7 a4 07 00 00    	add    $0x7a4,%edi
40a455:	81 c6 98 07 00 00    	add    $0x798,%esi
40a45b:	b9 82 00 00 00       	mov    $0x82,%ecx
40a460:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40a462:	8b 7d f8             	mov    -0x8(%ebp),%edi
40a465:	8b 75 08             	mov    0x8(%ebp),%esi
40a468:	68 04 01 00 00       	push   $0x104
40a46d:	8d 87 58 02 00 00    	lea    0x258(%edi),%eax
40a473:	50                   	push   %eax
40a474:	6a ff                	push   $0xffffffff
40a476:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
40a47c:	51                   	push   %ecx
40a47d:	6a 00                	push   $0x0
40a47f:	6a 00                	push   $0x0
40a481:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40a484:	ff 15 a0 c2 42 00    	call   *0x42c2a0
40a48a:	85 c0                	test   %eax,%eax
40a48c:	75 41                	jne    0x40a4cf
40a48e:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a493:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a498:	74 17                	je     0x40a4b1
40a49a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a49e:	74 11                	je     0x40a4b1
40a4a0:	ff 75 fc             	push   -0x4(%ebp)
40a4a3:	ff 70 14             	push   0x14(%eax)
40a4a6:	ff 70 10             	push   0x10(%eax)
40a4a9:	6a 4f                	push   $0x4f
40a4ab:	59                   	pop    %ecx
40a4ac:	e8 e3 e5 ff ff       	call   0x408a94
40a4b1:	ff 15 18 c2 42 00    	call   *0x42c218
40a4b7:	8b d8                	mov    %eax,%ebx
40a4b9:	85 db                	test   %ebx,%ebx
40a4bb:	0f 8e 9d 00 00 00    	jle    0x40a55e
40a4c1:	0f b7 db             	movzwl %bx,%ebx
40a4c4:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
40a4ca:	e9 8d 00 00 00       	jmp    0x40a55c
40a4cf:	6a 38                	push   $0x38
40a4d1:	8d 87 ac 21 00 00    	lea    0x21ac(%edi),%eax
40a4d7:	33 d2                	xor    %edx,%edx
40a4d9:	50                   	push   %eax
40a4da:	6a ff                	push   $0xffffffff
40a4dc:	8d 4e 48             	lea    0x48(%esi),%ecx
40a4df:	88 56 7f             	mov    %dl,0x7f(%esi)
40a4e2:	51                   	push   %ecx
40a4e3:	52                   	push   %edx
40a4e4:	52                   	push   %edx
40a4e5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40a4e8:	ff 15 a0 c2 42 00    	call   *0x42c2a0
40a4ee:	85 c0                	test   %eax,%eax
40a4f0:	75 25                	jne    0x40a517
40a4f2:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a4f7:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a4fc:	74 5e                	je     0x40a55c
40a4fe:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a502:	74 58                	je     0x40a55c
40a504:	ff 75 f8             	push   -0x8(%ebp)
40a507:	ff 70 14             	push   0x14(%eax)
40a50a:	ff 70 10             	push   0x10(%eax)
40a50d:	6a 50                	push   $0x50
40a50f:	59                   	pop    %ecx
40a510:	e8 7f e5 ff ff       	call   0x408a94
40a515:	eb 45                	jmp    0x40a55c
40a517:	81 c6 bc 01 00 00    	add    $0x1bc,%esi
40a51d:	8d 8f 1c 3d 00 00    	lea    0x3d1c(%edi),%ecx
40a523:	56                   	push   %esi
40a524:	ba 04 01 00 00       	mov    $0x104,%edx
40a529:	e8 07 e5 ff ff       	call   0x408a35
40a52e:	8b d8                	mov    %eax,%ebx
40a530:	85 db                	test   %ebx,%ebx
40a532:	79 26                	jns    0x40a55a
40a534:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40a53a:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
40a540:	74 1a                	je     0x40a55c
40a542:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
40a546:	74 14                	je     0x40a55c
40a548:	0f b7 c3             	movzwl %bx,%eax
40a54b:	50                   	push   %eax
40a54c:	56                   	push   %esi
40a54d:	ff 71 14             	push   0x14(%ecx)
40a550:	ff 71 10             	push   0x10(%ecx)
40a553:	6a 51                	push   $0x51
40a555:	e9 95 fe ff ff       	jmp    0x40a3ef
40a55a:	33 db                	xor    %ebx,%ebx
40a55c:	85 db                	test   %ebx,%ebx
40a55e:	79 09                	jns    0x40a569
40a560:	57                   	push   %edi
40a561:	e8 d5 d7 01 00       	call   0x427d3b
40a566:	59                   	pop    %ecx
40a567:	33 ff                	xor    %edi,%edi
40a569:	8b c7                	mov    %edi,%eax
40a56b:	5f                   	pop    %edi
40a56c:	5e                   	pop    %esi
40a56d:	5b                   	pop    %ebx
40a56e:	c9                   	leave
40a56f:	c2 04 00             	ret    $0x4
40a572:	8b ff                	mov    %edi,%edi
40a574:	51                   	push   %ecx
40a575:	8b 81 8c 01 00 00    	mov    0x18c(%ecx),%eax
40a57b:	85 c0                	test   %eax,%eax
40a57d:	75 2c                	jne    0x40a5ab
40a57f:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a584:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a589:	74 19                	je     0x40a5a4
40a58b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a58f:	74 13                	je     0x40a5a4
40a591:	ff 70 14             	push   0x14(%eax)
40a594:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a599:	ff 70 10             	push   0x10(%eax)
40a59c:	6a 52                	push   $0x52
40a59e:	59                   	pop    %ecx
40a59f:	e8 0c ce ff ff       	call   0x4073b0
40a5a4:	b8 03 80 1b 80       	mov    $0x801b8003,%eax
40a5a9:	59                   	pop    %ecx
40a5aa:	c3                   	ret
40a5ab:	33 c9                	xor    %ecx,%ecx
40a5ad:	39 48 24             	cmp    %ecx,0x24(%eax)
40a5b0:	74 13                	je     0x40a5c5
40a5b2:	39 48 18             	cmp    %ecx,0x18(%eax)
40a5b5:	74 0e                	je     0x40a5c5
40a5b7:	39 48 20             	cmp    %ecx,0x20(%eax)
40a5ba:	74 09                	je     0x40a5c5
40a5bc:	39 48 28             	cmp    %ecx,0x28(%eax)
40a5bf:	74 04                	je     0x40a5c5
40a5c1:	33 c0                	xor    %eax,%eax
40a5c3:	59                   	pop    %ecx
40a5c4:	c3                   	ret
40a5c5:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a5ca:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a5cf:	74 19                	je     0x40a5ea
40a5d1:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a5d5:	74 13                	je     0x40a5ea
40a5d7:	ff 70 14             	push   0x14(%eax)
40a5da:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a5df:	ff 70 10             	push   0x10(%eax)
40a5e2:	6a 53                	push   $0x53
40a5e4:	59                   	pop    %ecx
40a5e5:	e8 c6 cd ff ff       	call   0x4073b0
40a5ea:	b8 05 40 00 80       	mov    $0x80004005,%eax
40a5ef:	59                   	pop    %ecx
40a5f0:	c3                   	ret
40a5f1:	8b ff                	mov    %edi,%edi
40a5f3:	53                   	push   %ebx
40a5f4:	56                   	push   %esi
40a5f5:	8b f1                	mov    %ecx,%esi
40a5f7:	33 db                	xor    %ebx,%ebx
40a5f9:	57                   	push   %edi
40a5fa:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a600:	85 c0                	test   %eax,%eax
40a602:	0f 84 e9 00 00 00    	je     0x40a6f1
40a608:	68 10 27 00 00       	push   $0x2710
40a60d:	ff 70 24             	push   0x24(%eax)
40a610:	ff 15 b4 c2 42 00    	call   *0x42c2b4
40a616:	8b f8                	mov    %eax,%edi
40a618:	85 ff                	test   %edi,%edi
40a61a:	74 4d                	je     0x40a669
40a61c:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a621:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a626:	74 1a                	je     0x40a642
40a628:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
40a62c:	74 14                	je     0x40a642
40a62e:	57                   	push   %edi
40a62f:	ff 70 14             	push   0x14(%eax)
40a632:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a637:	ff 70 10             	push   0x10(%eax)
40a63a:	6a 54                	push   $0x54
40a63c:	59                   	pop    %ecx
40a63d:	e8 8c cd ff ff       	call   0x4073ce
40a642:	8b ce                	mov    %esi,%ecx
40a644:	e8 53 ef ff ff       	call   0x40959c
40a649:	81 ff 80 00 00 00    	cmp    $0x80,%edi
40a64f:	0f 85 9a 00 00 00    	jne    0x40a6ef
40a655:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a65b:	ff 70 24             	push   0x24(%eax)
40a65e:	ff 15 c0 c2 42 00    	call   *0x42c2c0
40a664:	e9 86 00 00 00       	jmp    0x40a6ef
40a669:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a66f:	6a 01                	push   $0x1
40a671:	ff 70 18             	push   0x18(%eax)
40a674:	ff 15 b4 c2 42 00    	call   *0x42c2b4
40a67a:	85 c0                	test   %eax,%eax
40a67c:	75 27                	jne    0x40a6a5
40a67e:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a683:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a688:	74 cb                	je     0x40a655
40a68a:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
40a68e:	74 c5                	je     0x40a655
40a690:	ff 70 14             	push   0x14(%eax)
40a693:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a698:	ff 70 10             	push   0x10(%eax)
40a69b:	6a 55                	push   $0x55
40a69d:	59                   	pop    %ecx
40a69e:	e8 0d cd ff ff       	call   0x4073b0
40a6a3:	eb b0                	jmp    0x40a655
40a6a5:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a6ab:	ff 70 20             	push   0x20(%eax)
40a6ae:	ff 15 b0 c2 42 00    	call   *0x42c2b0
40a6b4:	85 c0                	test   %eax,%eax
40a6b6:	75 25                	jne    0x40a6dd
40a6b8:	a1 00 b0 42 00       	mov    0x42b000,%eax
40a6bd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40a6c2:	74 19                	je     0x40a6dd
40a6c4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40a6c8:	74 13                	je     0x40a6dd
40a6ca:	ff 70 14             	push   0x14(%eax)
40a6cd:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40a6d2:	ff 70 10             	push   0x10(%eax)
40a6d5:	6a 56                	push   $0x56
40a6d7:	59                   	pop    %ecx
40a6d8:	e8 d3 cc ff ff       	call   0x4073b0
40a6dd:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a6e3:	ff 70 24             	push   0x24(%eax)
40a6e6:	ff 15 c0 c2 42 00    	call   *0x42c2c0
40a6ec:	33 db                	xor    %ebx,%ebx
40a6ee:	43                   	inc    %ebx
40a6ef:	8b c3                	mov    %ebx,%eax
40a6f1:	5f                   	pop    %edi
40a6f2:	5e                   	pop    %esi
40a6f3:	5b                   	pop    %ebx
40a6f4:	c3                   	ret
40a6f5:	8b ff                	mov    %edi,%edi
40a6f7:	55                   	push   %ebp
40a6f8:	8b ec                	mov    %esp,%ebp
40a6fa:	83 ec 34             	sub    $0x34,%esp
40a6fd:	a1 74 b6 42 00       	mov    0x42b674,%eax
40a702:	33 c5                	xor    %ebp,%eax
40a704:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a707:	53                   	push   %ebx
40a708:	56                   	push   %esi
40a709:	8b f1                	mov    %ecx,%esi
40a70b:	57                   	push   %edi
40a70c:	8b 96 8c 01 00 00    	mov    0x18c(%esi),%edx
40a712:	8d 82 72 86 00 00    	lea    0x8672(%edx),%eax
40a718:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40a71b:	8d 82 70 88 00 00    	lea    0x8870(%edx),%eax
40a721:	89 45 d8             	mov    %eax,-0x28(%ebp)
40a724:	8d 82 6e 8a 00 00    	lea    0x8a6e(%edx),%eax
40a72a:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a72d:	8d 82 6c 8c 00 00    	lea    0x8c6c(%edx),%eax
40a733:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a736:	8d 82 6a 8e 00 00    	lea    0x8e6a(%edx),%eax
40a73c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40a73f:	8d 82 68 90 00 00    	lea    0x9068(%edx),%eax
40a745:	89 45 e8             	mov    %eax,-0x18(%ebp)
40a748:	8d 82 66 92 00 00    	lea    0x9266(%edx),%eax
40a74e:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a751:	8d 82 64 94 00 00    	lea    0x9464(%edx),%eax
40a757:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a75a:	8d 82 62 96 00 00    	lea    0x9662(%edx),%eax
40a760:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a763:	8d 82 60 98 00 00    	lea    0x9860(%edx),%eax
40a769:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a76c:	8d 82 ac 21 00 00    	lea    0x21ac(%edx),%eax
40a772:	50                   	push   %eax
40a773:	e8 40 19 00 00       	call   0x40c0b8
40a778:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a77e:	8d 4e 0c             	lea    0xc(%esi),%ecx
40a781:	05 1c 3d 00 00       	add    $0x3d1c,%eax
40a786:	50                   	push   %eax
40a787:	e8 2c 19 00 00       	call   0x40c0b8
40a78c:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a792:	8d 4e 18             	lea    0x18(%esi),%ecx
40a795:	05 ac 09 00 00       	add    $0x9ac,%eax
40a79a:	50                   	push   %eax
40a79b:	e8 18 19 00 00       	call   0x40c0b8
40a7a0:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a7a6:	8d 4e 24             	lea    0x24(%esi),%ecx
40a7a9:	05 ac 11 00 00       	add    $0x11ac,%eax
40a7ae:	50                   	push   %eax
40a7af:	e8 04 19 00 00       	call   0x40c0b8
40a7b4:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a7ba:	8d 4e 30             	lea    0x30(%esi),%ecx
40a7bd:	05 ac 19 00 00       	add    $0x19ac,%eax
40a7c2:	50                   	push   %eax
40a7c3:	e8 f0 18 00 00       	call   0x40c0b8
40a7c8:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a7ce:	33 c9                	xor    %ecx,%ecx
40a7d0:	33 db                	xor    %ebx,%ebx
40a7d2:	66 39 98 94 24 00 00 	cmp    %bx,0x2494(%eax)
40a7d9:	0f 95 c1             	setne  %cl
40a7dc:	05 94 24 00 00       	add    $0x2494,%eax
40a7e1:	49                   	dec    %ecx
40a7e2:	81 e1 c4 dd ff ff    	and    $0xffffddc4,%ecx
40a7e8:	03 c8                	add    %eax,%ecx
40a7ea:	51                   	push   %ecx
40a7eb:	8d 8e e4 00 00 00    	lea    0xe4(%esi),%ecx
40a7f1:	e8 c2 18 00 00       	call   0x40c0b8
40a7f6:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a7fc:	8d 8e f0 00 00 00    	lea    0xf0(%esi),%ecx
40a802:	05 9c 26 00 00       	add    $0x269c,%eax
40a807:	50                   	push   %eax
40a808:	e8 ab 18 00 00       	call   0x40c0b8
40a80d:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a813:	8d 8e fc 00 00 00    	lea    0xfc(%esi),%ecx
40a819:	05 a4 28 00 00       	add    $0x28a4,%eax
40a81e:	50                   	push   %eax
40a81f:	e8 94 18 00 00       	call   0x40c0b8
40a824:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
40a82a:	8d 8e 20 01 00 00    	lea    0x120(%esi),%ecx
40a830:	05 3c 33 00 00       	add    $0x333c,%eax
40a835:	50                   	push   %eax
40a836:	e8 7d 18 00 00       	call   0x40c0b8
40a83b:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax