40a30c:	74 13                	je     0x40a321
40a30e:	8b ca                	mov    %edx,%ecx
40a310:	8d 79 01             	lea    0x1(%ecx),%edi
40a313:	8a 01                	mov    (%ecx),%al
40a315:	41                   	inc    %ecx
40a316:	84 c0                	test   %al,%al
40a318:	75 f9                	jne    0x40a313
40a31a:	2b cf                	sub    %edi,%ecx
40a31c:	41                   	inc    %ecx
40a31d:	33 ff                	xor    %edi,%edi
40a31f:	eb 04                	jmp    0x40a325
40a321:	8b d3                	mov    %ebx,%edx
40a323:	8b ce                	mov    %esi,%ecx
40a325:	8b 45 34             	mov    0x34(%ebp),%eax
40a328:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
40a32e:	8b 45 30             	mov    0x30(%ebp),%eax
40a331:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
40a337:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
40a33d:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
40a343:	8b 10                	mov    (%eax),%edx
40a345:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
40a34b:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
40a351:	c7 85 64 ff ff ff 04 	movl   $0x4,-0x9c(%ebp)
40a358:	00 00 00
40a35b:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
40a361:	85 d2                	test   %edx,%edx
40a363:	74 13                	je     0x40a378
40a365:	8b ca                	mov    %edx,%ecx
40a367:	8d 79 01             	lea    0x1(%ecx),%edi
40a36a:	8a 01                	mov    (%ecx),%al
40a36c:	41                   	inc    %ecx
40a36d:	84 c0                	test   %al,%al
40a36f:	75 f9                	jne    0x40a36a
40a371:	2b cf                	sub    %edi,%ecx
40a373:	41                   	inc    %ecx
40a374:	33 ff                	xor    %edi,%edi
40a376:	eb 04                	jmp    0x40a37c
40a378:	8b d3                	mov    %ebx,%edx
40a37a:	8b ce                	mov    %esi,%ecx
40a37c:	8b 45 2c             	mov    0x2c(%ebp),%eax
40a37f:	89 95 4c ff ff ff    	mov    %edx,-0xb4(%ebp)
40a385:	8b 95 a4 fe ff ff    	mov    -0x15c(%ebp),%edx
40a38b:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
40a391:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
40a397:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
40a39d:	89 bd 58 ff ff ff    	mov    %edi,-0xa8(%ebp)
40a3a3:	8b 12                	mov    (%edx),%edx
40a3a5:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40a3ab:	89 bd 40 ff ff ff    	mov    %edi,-0xc0(%ebp)
40a3b1:	c7 85 44 ff ff ff 04 	movl   $0x4,-0xbc(%ebp)
40a3b8:	00 00 00
40a3bb:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
40a3c1:	e8 dd a5 01 00       	call   0x4249a3
40a3c6:	8b 45 24             	mov    0x24(%ebp),%eax
40a3c9:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
40a3cf:	8b 45 20             	mov    0x20(%ebp),%eax
40a3d2:	89 bd 20 ff ff ff    	mov    %edi,-0xe0(%ebp)
40a3d8:	c7 85 24 ff ff ff 04 	movl   $0x4,-0xdc(%ebp)
40a3df:	00 00 00
40a3e2:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
40a3e8:	8b 10                	mov    (%eax),%edx
40a3ea:	85 d2                	test   %edx,%edx
40a3ec:	74 13                	je     0x40a401
40a3ee:	8b ca                	mov    %edx,%ecx
40a3f0:	8d 79 01             	lea    0x1(%ecx),%edi
40a3f3:	8a 01                	mov    (%ecx),%al
40a3f5:	41                   	inc    %ecx
40a3f6:	84 c0                	test   %al,%al
40a3f8:	75 f9                	jne    0x40a3f3
40a3fa:	2b cf                	sub    %edi,%ecx
40a3fc:	41                   	inc    %ecx
40a3fd:	33 ff                	xor    %edi,%edi
40a3ff:	eb 04                	jmp    0x40a405
40a401:	8b d3                	mov    %ebx,%edx
40a403:	8b ce                	mov    %esi,%ecx
40a405:	8b 45 1c             	mov    0x1c(%ebp),%eax
40a408:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
40a40e:	8b 45 18             	mov    0x18(%ebp),%eax
40a411:	89 95 0c ff ff ff    	mov    %edx,-0xf4(%ebp)
40a417:	89 bd 10 ff ff ff    	mov    %edi,-0xf0(%ebp)
40a41d:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
40a423:	8b 10                	mov    (%eax),%edx
40a425:	89 bd 18 ff ff ff    	mov    %edi,-0xe8(%ebp)
40a42b:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
40a431:	c7 85 04 ff ff ff 04 	movl   $0x4,-0xfc(%ebp)
40a438:	00 00 00
40a43b:	89 bd 08 ff ff ff    	mov    %edi,-0xf8(%ebp)
40a441:	85 d2                	test   %edx,%edx
40a443:	74 13                	je     0x40a458
40a445:	8b ca                	mov    %edx,%ecx
40a447:	8d 71 01             	lea    0x1(%ecx),%esi
40a44a:	8a 01                	mov    (%ecx),%al
40a44c:	41                   	inc    %ecx
40a44d:	84 c0                	test   %al,%al
40a44f:	75 f9                	jne    0x40a44a
40a451:	2b ce                	sub    %esi,%ecx
40a453:	8d 71 01             	lea    0x1(%ecx),%esi
40a456:	eb 02                	jmp    0x40a45a
40a458:	8b d3                	mov    %ebx,%edx
40a45a:	8b 45 14             	mov    0x14(%ebp),%eax
40a45d:	89 85 dc fe ff ff    	mov    %eax,-0x124(%ebp)
40a463:	8b 45 10             	mov    0x10(%ebp),%eax
40a466:	89 95 ec fe ff ff    	mov    %edx,-0x114(%ebp)
40a46c:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
40a472:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
40a478:	8b 00                	mov    (%eax),%eax
40a47a:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
40a480:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
40a486:	50                   	push   %eax
40a487:	6a 15                	push   $0x15
40a489:	57                   	push   %edi
40a48a:	57                   	push   %edi
40a48b:	ff b5 a0 fe ff ff    	push   -0x160(%ebp)
40a491:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
40a497:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
40a49d:	89 bd e0 fe ff ff    	mov    %edi,-0x120(%ebp)
40a4a3:	c7 85 e4 fe ff ff 04 	movl   $0x4,-0x11c(%ebp)
40a4aa:	00 00 00
40a4ad:	89 bd e8 fe ff ff    	mov    %edi,-0x118(%ebp)
40a4b3:	89 bd d0 fe ff ff    	mov    %edi,-0x130(%ebp)
40a4b9:	c7 85 d4 fe ff ff 08 	movl   $0x8,-0x12c(%ebp)
40a4c0:	00 00 00
40a4c3:	89 bd d8 fe ff ff    	mov    %edi,-0x128(%ebp)
40a4c9:	e8 c1 49 02 00       	call   0x42ee8f
40a4ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a4d1:	5f                   	pop    %edi
40a4d2:	5e                   	pop    %esi
40a4d3:	33 cd                	xor    %ebp,%ecx
40a4d5:	5b                   	pop    %ebx
40a4d6:	e8 e5 02 01 00       	call   0x41a7c0
40a4db:	c9                   	leave
40a4dc:	c2 54 00             	ret    $0x54
40a4df:	8b ff                	mov    %edi,%edi
40a4e1:	55                   	push   %ebp
40a4e2:	8b ec                	mov    %esp,%ebp
40a4e4:	83 e4 f8             	and    $0xfffffff8,%esp
40a4e7:	83 ec 14             	sub    $0x14,%esp
40a4ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a4ed:	56                   	push   %esi
40a4ee:	8b 75 08             	mov    0x8(%ebp),%esi
40a4f1:	0f b6 01             	movzbl (%ecx),%eax
40a4f4:	8d 51 01             	lea    0x1(%ecx),%edx
40a4f7:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
40a4fa:	c1 e0 18             	shl    $0x18,%eax
40a4fd:	89 44 24 08          	mov    %eax,0x8(%esp)
40a501:	0f b7 02             	movzwl (%edx),%eax
40a504:	89 44 24 0c          	mov    %eax,0xc(%esp)
40a508:	8b 42 02             	mov    0x2(%edx),%eax
40a50b:	89 44 24 10          	mov    %eax,0x10(%esp)
40a50f:	8b 42 06             	mov    0x6(%edx),%eax
40a512:	83 c2 0a             	add    $0xa,%edx
40a515:	89 44 24 14          	mov    %eax,0x14(%esp)
40a519:	8b 46 04             	mov    0x4(%esi),%eax
40a51c:	83 61 04 00          	andl   $0x0,0x4(%ecx)
40a520:	89 01                	mov    %eax,(%ecx)
40a522:	8b 46 04             	mov    0x4(%esi),%eax
40a525:	51                   	push   %ecx
40a526:	ff 75 18             	push   0x18(%ebp)
40a529:	0f b7 00             	movzwl (%eax),%eax
40a52c:	83 61 14 00          	andl   $0x0,0x14(%ecx)
40a530:	ff 75 14             	push   0x14(%ebp)
40a533:	89 41 08             	mov    %eax,0x8(%ecx)
40a536:	ff 75 10             	push   0x10(%ebp)
40a539:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
40a540:	89 51 10             	mov    %edx,0x10(%ecx)
40a543:	0f b7 02             	movzwl (%edx),%eax
40a546:	89 41 18             	mov    %eax,0x18(%ecx)
40a549:	b8 b4 6f 40 00       	mov    $0x406fb4,%eax
40a54e:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
40a555:	2d d0 63 40 00       	sub    $0x4063d0,%eax
40a55a:	89 44 24 14          	mov    %eax,0x14(%esp)
40a55e:	8d 44 24 18          	lea    0x18(%esp),%eax
40a562:	50                   	push   %eax
40a563:	ff 76 1c             	push   0x1c(%esi)
40a566:	ff 76 18             	push   0x18(%esi)
40a569:	ff 15 00 a5 43 00    	call   *0x43a500
40a56f:	5e                   	pop    %esi
40a570:	8b e5                	mov    %ebp,%esp
40a572:	5d                   	pop    %ebp
40a573:	c2 18 00             	ret    $0x18
40a576:	cc                   	int3
40a577:	cc                   	int3
40a578:	cc                   	int3
40a579:	cc                   	int3
40a57a:	cc                   	int3
40a57b:	cc                   	int3
40a57c:	cc                   	int3
40a57d:	cc                   	int3
40a57e:	cc                   	int3
40a57f:	cc                   	int3
40a580:	68 e0 fa 41 00       	push   $0x41fae0
40a585:	e8 e4 06 01 00       	call   0x41ac6e
40a58a:	59                   	pop    %ecx
40a58b:	c3                   	ret
40a58c:	cc                   	int3
40a58d:	cc                   	int3
40a58e:	cc                   	int3
40a58f:	cc                   	int3
40a590:	68 f0 fa 41 00       	push   $0x41faf0
40a595:	e8 d4 06 01 00       	call   0x41ac6e
40a59a:	59                   	pop    %ecx
40a59b:	c3                   	ret
40a59c:	cc                   	int3
40a59d:	cc                   	int3
40a59e:	cc                   	int3
40a59f:	cc                   	int3
40a5a0:	68 00 fb 41 00       	push   $0x41fb00
40a5a5:	e8 c4 06 01 00       	call   0x41ac6e
40a5aa:	59                   	pop    %ecx
40a5ab:	c3                   	ret
40a5ac:	cc                   	int3
40a5ad:	cc                   	int3
40a5ae:	cc                   	int3
40a5af:	cc                   	int3
40a5b0:	e8 a9 f7 00 00       	call   0x419d5e
40a5b5:	68 10 fb 41 00       	push   $0x41fb10
40a5ba:	e8 af 06 01 00       	call   0x41ac6e
40a5bf:	59                   	pop    %ecx
40a5c0:	c3                   	ret
40a5c1:	cc                   	int3
40a5c2:	cc                   	int3
40a5c3:	cc                   	int3
40a5c4:	cc                   	int3
40a5c5:	cc                   	int3
40a5c6:	cc                   	int3
40a5c7:	cc                   	int3
40a5c8:	cc                   	int3
40a5c9:	cc                   	int3
40a5ca:	cc                   	int3
40a5cb:	cc                   	int3
40a5cc:	cc                   	int3
40a5cd:	cc                   	int3
40a5ce:	cc                   	int3
40a5cf:	cc                   	int3
40a5d0:	e8 cc f3 00 00       	call   0x4199a1
40a5d5:	68 20 fb 41 00       	push   $0x41fb20
40a5da:	e8 8f 06 01 00       	call   0x41ac6e
40a5df:	59                   	pop    %ecx
40a5e0:	c3                   	ret
40a5e1:	cc                   	int3
40a5e2:	cc                   	int3
40a5e3:	cc                   	int3
40a5e4:	cc                   	int3
40a5e5:	cc                   	int3
40a5e6:	cc                   	int3
40a5e7:	cc                   	int3
40a5e8:	cc                   	int3
40a5e9:	cc                   	int3
40a5ea:	cc                   	int3
40a5eb:	cc                   	int3
40a5ec:	cc                   	int3
40a5ed:	cc                   	int3
40a5ee:	cc                   	int3
40a5ef:	cc                   	int3
40a5f0:	68 28 8d 43 00       	push   $0x438d28
40a5f5:	ff 15 cc a2 43 00    	call   *0x43a2cc
40a5fb:	68 40 fb 41 00       	push   $0x41fb40
40a600:	e8 69 06 01 00       	call   0x41ac6e
40a605:	59                   	pop    %ecx
40a606:	c3                   	ret
40a607:	cc                   	int3
40a608:	cc                   	int3
40a609:	cc                   	int3
40a60a:	cc                   	int3
40a60b:	cc                   	int3
40a60c:	cc                   	int3
40a60d:	cc                   	int3
40a60e:	cc                   	int3
40a60f:	cc                   	int3
40a610:	68 84 8d 43 00       	push   $0x438d84
40a615:	ff 15 cc a2 43 00    	call   *0x43a2cc
40a61b:	68 50 fb 41 00       	push   $0x41fb50
40a620:	e8 49 06 01 00       	call   0x41ac6e
40a625:	59                   	pop    %ecx
40a626:	c3                   	ret
40a627:	cc                   	int3
40a628:	cc                   	int3
40a629:	cc                   	int3
40a62a:	cc                   	int3
40a62b:	cc                   	int3
40a62c:	cc                   	int3
40a62d:	cc                   	int3
40a62e:	cc                   	int3
40a62f:	cc                   	int3
40a630:	e8 04 f9 00 00       	call   0x419f39
40a635:	68 60 fb 41 00       	push   $0x41fb60
40a63a:	e8 2f 06 01 00       	call   0x41ac6e
40a63f:	59                   	pop    %ecx
40a640:	c3                   	ret
40a641:	cc                   	int3
40a642:	cc                   	int3
40a643:	cc                   	int3
40a644:	cc                   	int3
40a645:	cc                   	int3
40a646:	cc                   	int3
40a647:	cc                   	int3
40a648:	cc                   	int3
40a649:	cc                   	int3
40a64a:	cc                   	int3
40a64b:	cc                   	int3
40a64c:	cc                   	int3
40a64d:	cc                   	int3
40a64e:	cc                   	int3
40a64f:	cc                   	int3
40a650:	b9 3c 8f 43 00       	mov    $0x438f3c,%ecx
40a655:	e8 94 f4 00 00       	call   0x419aee
40a65a:	68 a0 fb 41 00       	push   $0x41fba0
40a65f:	e8 0a 06 01 00       	call   0x41ac6e
40a664:	59                   	pop    %ecx
40a665:	c3                   	ret
40a666:	cc                   	int3
40a667:	cc                   	int3
40a668:	cc                   	int3
40a669:	cc                   	int3
40a66a:	cc                   	int3
40a66b:	cc                   	int3
40a66c:	cc                   	int3
40a66d:	cc                   	int3
40a66e:	cc                   	int3
40a66f:	cc                   	int3
40a670:	68 c0 fb 41 00       	push   $0x41fbc0
40a675:	e8 f4 05 01 00       	call   0x41ac6e
40a67a:	59                   	pop    %ecx
40a67b:	c3                   	ret
40a67c:	cc                   	int3
40a67d:	cc                   	int3
40a67e:	cc                   	int3
40a67f:	cc                   	int3
40a680:	68 d0 fb 41 00       	push   $0x41fbd0
40a685:	e8 e4 05 01 00       	call   0x41ac6e
40a68a:	59                   	pop    %ecx
40a68b:	c3                   	ret
40a68c:	cc                   	int3
40a68d:	cc                   	int3
40a68e:	cc                   	int3
40a68f:	cc                   	int3
40a690:	68 e0 fb 41 00       	push   $0x41fbe0
40a695:	e8 d4 05 01 00       	call   0x41ac6e
40a69a:	59                   	pop    %ecx
40a69b:	c3                   	ret
40a69c:	cc                   	int3
40a69d:	cc                   	int3
40a69e:	cc                   	int3
40a69f:	cc                   	int3
40a6a0:	68 f0 fb 41 00       	push   $0x41fbf0
40a6a5:	e8 c4 05 01 00       	call   0x41ac6e
40a6aa:	59                   	pop    %ecx
40a6ab:	c3                   	ret
40a6ac:	cc                   	int3
40a6ad:	cc                   	int3