41a3af:	8b f0                	mov    %eax,%esi
41a3b1:	6a 00                	push   $0x0
41a3b3:	89 32                	mov    %esi,(%edx)
41a3b5:	e8 56 c8 fe ff       	call   0x406c10
41a3ba:	83 c4 0c             	add    $0xc,%esp
41a3bd:	85 f6                	test   %esi,%esi
41a3bf:	74 3a                	je     0x41a3fb
41a3c1:	8b 07                	mov    (%edi),%eax
41a3c3:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41a3c6:	89 45 e0             	mov    %eax,-0x20(%ebp)
41a3c9:	8b 47 04             	mov    0x4(%edi),%eax
41a3cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a3cf:	8b 47 08             	mov    0x8(%edi),%eax
41a3d2:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a3d5:	8b 47 0c             	mov    0xc(%edi),%eax
41a3d8:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a3db:	8b 47 10             	mov    0x10(%edi),%eax
41a3de:	6a 04                	push   $0x4
41a3e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a3e3:	58                   	pop    %eax
41a3e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a3e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a3ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a3ed:	50                   	push   %eax
41a3ee:	8d 45 e0             	lea    -0x20(%ebp),%eax
41a3f1:	50                   	push   %eax
41a3f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a3f5:	50                   	push   %eax
41a3f6:	e8 20 fe ff ff       	call   0x41a21b
41a3fb:	5f                   	pop    %edi
41a3fc:	5e                   	pop    %esi
41a3fd:	c9                   	leave
41a3fe:	c3                   	ret
41a3ff:	8b ff                	mov    %edi,%edi
41a401:	56                   	push   %esi
41a402:	8b f1                	mov    %ecx,%esi
41a404:	8b 46 04             	mov    0x4(%esi),%eax
41a407:	8b 00                	mov    (%eax),%eax
41a409:	ff 70 4c             	push   0x4c(%eax)
41a40c:	8b 06                	mov    (%esi),%eax
41a40e:	ff 30                	push   (%eax)
41a410:	e8 02 04 00 00       	call   0x41a817
41a415:	8b 46 10             	mov    0x10(%esi),%eax
41a418:	ff 30                	push   (%eax)
41a41a:	8b 46 0c             	mov    0xc(%esi),%eax
41a41d:	ff 30                	push   (%eax)
41a41f:	8b 06                	mov    (%esi),%eax
41a421:	ff 30                	push   (%eax)
41a423:	e8 43 0a 00 00       	call   0x41ae6b
41a428:	8b 4e 08             	mov    0x8(%esi),%ecx
41a42b:	83 c4 14             	add    $0x14,%esp
41a42e:	89 01                	mov    %eax,(%ecx)
41a430:	85 c0                	test   %eax,%eax
41a432:	0f 84 af 00 00 00    	je     0x41a4e7
41a438:	8b 46 10             	mov    0x10(%esi),%eax
41a43b:	8b 00                	mov    (%eax),%eax
41a43d:	85 c0                	test   %eax,%eax
41a43f:	74 3f                	je     0x41a480
41a441:	ba 18 d2 43 00       	mov    $0x43d218,%edx
41a446:	57                   	push   %edi
41a447:	66 8b 38             	mov    (%eax),%di
41a44a:	33 c9                	xor    %ecx,%ecx
41a44c:	41                   	inc    %ecx
41a44d:	66 3b 3a             	cmp    (%edx),%di
41a450:	75 1e                	jne    0x41a470
41a452:	66 85 ff             	test   %di,%di
41a455:	74 15                	je     0x41a46c
41a457:	66 8b 78 02          	mov    0x2(%eax),%di
41a45b:	66 3b 7a 02          	cmp    0x2(%edx),%di
41a45f:	75 0f                	jne    0x41a470
41a461:	83 c0 04             	add    $0x4,%eax
41a464:	83 c2 04             	add    $0x4,%edx
41a467:	66 85 ff             	test   %di,%di
41a46a:	75 db                	jne    0x41a447
41a46c:	33 c0                	xor    %eax,%eax
41a46e:	eb 04                	jmp    0x41a474
41a470:	1b c0                	sbb    %eax,%eax
41a472:	0b c1                	or     %ecx,%eax
41a474:	5f                   	pop    %edi
41a475:	85 c0                	test   %eax,%eax
41a477:	74 07                	je     0x41a480
41a479:	b8 b8 f7 43 00       	mov    $0x43f7b8,%eax
41a47e:	87 08                	xchg   %ecx,(%eax)
41a480:	8b 06                	mov    (%esi),%eax
41a482:	ff 30                	push   (%eax)
41a484:	8b 46 04             	mov    0x4(%esi),%eax
41a487:	8b 00                	mov    (%eax),%eax
41a489:	83 c0 4c             	add    $0x4c,%eax
41a48c:	50                   	push   %eax
41a48d:	e8 ed a4 00 00       	call   0x42497f
41a492:	8b 06                	mov    (%esi),%eax
41a494:	ff 30                	push   (%eax)
41a496:	e8 e2 a3 00 00       	call   0x42487d
41a49b:	8b 46 04             	mov    0x4(%esi),%eax
41a49e:	83 c4 0c             	add    $0xc,%esp
41a4a1:	8b 00                	mov    (%eax),%eax
41a4a3:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
41a4aa:	75 4f                	jne    0x41a4fb
41a4ac:	f6 05 34 db 43 00 01 	testb  $0x1,0x43db34
41a4b3:	75 46                	jne    0x41a4fb
41a4b5:	ff 70 4c             	push   0x4c(%eax)
41a4b8:	68 dc f7 43 00       	push   $0x43f7dc
41a4bd:	e8 bd a4 00 00       	call   0x42497f
41a4c2:	a1 dc f7 43 00       	mov    0x43f7dc,%eax
41a4c7:	59                   	pop    %ecx
41a4c8:	59                   	pop    %ecx
41a4c9:	5e                   	pop    %esi
41a4ca:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
41a4d0:	89 0d 28 db 43 00    	mov    %ecx,0x43db28
41a4d6:	8b 08                	mov    (%eax),%ecx
41a4d8:	89 0d 08 d3 43 00    	mov    %ecx,0x43d308
41a4de:	8b 40 04             	mov    0x4(%eax),%eax
41a4e1:	a3 1c d2 43 00       	mov    %eax,0x43d21c
41a4e6:	c3                   	ret
41a4e7:	8b 06                	mov    (%esi),%eax
41a4e9:	ff 30                	push   (%eax)
41a4eb:	e8 8d a3 00 00       	call   0x42487d
41a4f0:	8b 06                	mov    (%esi),%eax
41a4f2:	ff 30                	push   (%eax)
41a4f4:	e8 b9 a1 00 00       	call   0x4246b2
41a4f9:	59                   	pop    %ecx
41a4fa:	59                   	pop    %ecx
41a4fb:	5e                   	pop    %esi
41a4fc:	c3                   	ret
41a4fd:	8b ff                	mov    %edi,%edi
41a4ff:	55                   	push   %ebp
41a500:	8b ec                	mov    %esp,%ebp
41a502:	56                   	push   %esi
41a503:	ff 75 0c             	push   0xc(%ebp)
41a506:	8b f1                	mov    %ecx,%esi
41a508:	ff 75 08             	push   0x8(%ebp)
41a50b:	6a 55                	push   $0x55
41a50d:	8b 46 08             	mov    0x8(%esi),%eax
41a510:	05 50 02 00 00       	add    $0x250,%eax
41a515:	50                   	push   %eax
41a516:	e8 b2 78 00 00       	call   0x421dcd
41a51b:	83 c4 10             	add    $0x10,%esp
41a51e:	85 c0                	test   %eax,%eax
41a520:	75 12                	jne    0x41a534
41a522:	ff 75 0c             	push   0xc(%ebp)
41a525:	8b ce                	mov    %esi,%ecx
41a527:	ff 75 08             	push   0x8(%ebp)
41a52a:	e8 12 00 00 00       	call   0x41a541
41a52f:	5e                   	pop    %esi
41a530:	5d                   	pop    %ebp
41a531:	c2 08 00             	ret    $0x8
41a534:	33 c0                	xor    %eax,%eax
41a536:	50                   	push   %eax
41a537:	50                   	push   %eax
41a538:	50                   	push   %eax
41a539:	50                   	push   %eax
41a53a:	50                   	push   %eax
41a53b:	e8 db 2e ff ff       	call   0x40d41b
41a540:	cc                   	int3
41a541:	8b ff                	mov    %edi,%edi
41a543:	55                   	push   %ebp
41a544:	8b ec                	mov    %esp,%ebp
41a546:	56                   	push   %esi
41a547:	ff 75 0c             	push   0xc(%ebp)
41a54a:	8b f1                	mov    %ecx,%esi
41a54c:	ff 75 08             	push   0x8(%ebp)
41a54f:	ff 76 04             	push   0x4(%esi)
41a552:	ff 36                	push   (%esi)
41a554:	e8 74 78 00 00       	call   0x421dcd
41a559:	83 c4 10             	add    $0x10,%esp
41a55c:	85 c0                	test   %eax,%eax
41a55e:	75 09                	jne    0x41a569
41a560:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
41a564:	5e                   	pop    %esi
41a565:	5d                   	pop    %ebp
41a566:	c2 08 00             	ret    $0x8
41a569:	33 c0                	xor    %eax,%eax
41a56b:	50                   	push   %eax
41a56c:	50                   	push   %eax
41a56d:	50                   	push   %eax
41a56e:	50                   	push   %eax
41a56f:	50                   	push   %eax
41a570:	e8 a6 2e ff ff       	call   0x40d41b
41a575:	cc                   	int3
41a576:	8b ff                	mov    %edi,%edi
41a578:	55                   	push   %ebp
41a579:	8b ec                	mov    %esp,%ebp
41a57b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41a57f:	53                   	push   %ebx
41a580:	57                   	push   %edi
41a581:	74 40                	je     0x41a5c3
41a583:	6a 55                	push   $0x55
41a585:	ff 75 08             	push   0x8(%ebp)
41a588:	e8 19 22 00 00       	call   0x41c7a6
41a58d:	8b d8                	mov    %eax,%ebx
41a58f:	59                   	pop    %ecx
41a590:	59                   	pop    %ecx
41a591:	83 fb 55             	cmp    $0x55,%ebx
41a594:	73 2d                	jae    0x41a5c3
41a596:	8d 0c 5d 02 00 00 00 	lea    0x2(,%ebx,2),%ecx
41a59d:	51                   	push   %ecx
41a59e:	e8 8d c6 fe ff       	call   0x406c30
41a5a3:	8b f8                	mov    %eax,%edi
41a5a5:	59                   	pop    %ecx
41a5a6:	85 ff                	test   %edi,%edi
41a5a8:	74 19                	je     0x41a5c3
41a5aa:	8d 4b 01             	lea    0x1(%ebx),%ecx
41a5ad:	51                   	push   %ecx
41a5ae:	ff 75 08             	push   0x8(%ebp)
41a5b1:	51                   	push   %ecx
41a5b2:	57                   	push   %edi
41a5b3:	e8 15 78 00 00       	call   0x421dcd
41a5b8:	83 c4 10             	add    $0x10,%esp
41a5bb:	85 c0                	test   %eax,%eax
41a5bd:	75 0a                	jne    0x41a5c9
41a5bf:	8b c7                	mov    %edi,%eax
41a5c1:	eb 02                	jmp    0x41a5c5
41a5c3:	33 c0                	xor    %eax,%eax
41a5c5:	5f                   	pop    %edi
41a5c6:	5b                   	pop    %ebx
41a5c7:	5d                   	pop    %ebp
41a5c8:	c3                   	ret
41a5c9:	33 c0                	xor    %eax,%eax
41a5cb:	50                   	push   %eax
41a5cc:	50                   	push   %eax
41a5cd:	50                   	push   %eax
41a5ce:	50                   	push   %eax
41a5cf:	50                   	push   %eax
41a5d0:	e8 46 2e ff ff       	call   0x40d41b
41a5d5:	cc                   	int3
41a5d6:	33 c0                	xor    %eax,%eax
41a5d8:	b9 b8 f7 43 00       	mov    $0x43f7b8,%ecx
41a5dd:	40                   	inc    %eax
41a5de:	87 01                	xchg   %eax,(%ecx)
41a5e0:	c3                   	ret
41a5e1:	8b ff                	mov    %edi,%edi
41a5e3:	55                   	push   %ebp
41a5e4:	8b ec                	mov    %esp,%ebp
41a5e6:	83 ec 0c             	sub    $0xc,%esp
41a5e9:	6a 04                	push   $0x4
41a5eb:	58                   	pop    %eax
41a5ec:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a5ef:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41a5f2:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a5f5:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a5f8:	50                   	push   %eax
41a5f9:	8d 45 ff             	lea    -0x1(%ebp),%eax
41a5fc:	50                   	push   %eax
41a5fd:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a600:	50                   	push   %eax
41a601:	e8 a7 fc ff ff       	call   0x41a2ad
41a606:	c9                   	leave
41a607:	c3                   	ret
41a608:	8b ff                	mov    %edi,%edi
41a60a:	55                   	push   %ebp
41a60b:	8b ec                	mov    %esp,%ebp
41a60d:	56                   	push   %esi
41a60e:	57                   	push   %edi
41a60f:	8b 7d 10             	mov    0x10(%ebp),%edi
41a612:	57                   	push   %edi
41a613:	ff 75 0c             	push   0xc(%ebp)
41a616:	ff 75 08             	push   0x8(%ebp)
41a619:	e8 6a 84 ff ff       	call   0x412a88
41a61e:	83 c4 0c             	add    $0xc,%esp
41a621:	33 f6                	xor    %esi,%esi
41a623:	85 c0                	test   %eax,%eax
41a625:	75 46                	jne    0x41a66d
41a627:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
41a62d:	66 39 30             	cmp    %si,(%eax)
41a630:	74 16                	je     0x41a648
41a632:	50                   	push   %eax
41a633:	68 1c 33 43 00       	push   $0x43331c
41a638:	6a 02                	push   $0x2
41a63a:	ff 75 0c             	push   0xc(%ebp)
41a63d:	ff 75 08             	push   0x8(%ebp)
41a640:	e8 c7 05 00 00       	call   0x41ac0c
41a645:	83 c4 14             	add    $0x14,%esp
41a648:	81 c7 00 01 00 00    	add    $0x100,%edi
41a64e:	66 39 37             	cmp    %si,(%edi)
41a651:	74 16                	je     0x41a669
41a653:	57                   	push   %edi
41a654:	68 20 33 43 00       	push   $0x433320
41a659:	6a 02                	push   $0x2
41a65b:	ff 75 0c             	push   0xc(%ebp)
41a65e:	ff 75 08             	push   0x8(%ebp)
41a661:	e8 a6 05 00 00       	call   0x41ac0c
41a666:	83 c4 14             	add    $0x14,%esp
41a669:	5f                   	pop    %edi
41a66a:	5e                   	pop    %esi
41a66b:	5d                   	pop    %ebp
41a66c:	c3                   	ret
41a66d:	56                   	push   %esi
41a66e:	56                   	push   %esi
41a66f:	56                   	push   %esi
41a670:	56                   	push   %esi
41a671:	56                   	push   %esi
41a672:	e8 a4 2d ff ff       	call   0x40d41b
41a677:	cc                   	int3
41a678:	8b ff                	mov    %edi,%edi
41a67a:	55                   	push   %ebp
41a67b:	8b ec                	mov    %esp,%ebp
41a67d:	51                   	push   %ecx
41a67e:	51                   	push   %ecx
41a67f:	53                   	push   %ebx
41a680:	56                   	push   %esi
41a681:	57                   	push   %edi
41a682:	8b 7d 08             	mov    0x8(%ebp),%edi
41a685:	33 db                	xor    %ebx,%ebx
41a687:	68 ca 01 00 00       	push   $0x1ca
41a68c:	53                   	push   %ebx
41a68d:	57                   	push   %edi
41a68e:	e8 2d 0d ff ff       	call   0x40b3c0
41a693:	8b 75 0c             	mov    0xc(%ebp),%esi
41a696:	83 c4 0c             	add    $0xc,%esp
41a699:	0f b7 06             	movzwl (%esi),%eax
41a69c:	66 85 c0             	test   %ax,%ax
41a69f:	75 07                	jne    0x41a6a8
41a6a1:	33 c0                	xor    %eax,%eax
41a6a3:	e9 fb 00 00 00       	jmp    0x41a7a3
41a6a8:	6a 2e                	push   $0x2e
41a6aa:	59                   	pop    %ecx
41a6ab:	66 3b c1             	cmp    %cx,%ax
41a6ae:	75 2d                	jne    0x41a6dd
41a6b0:	8d 46 02             	lea    0x2(%esi),%eax
41a6b3:	66 39 18             	cmp    %bx,(%eax)
41a6b6:	74 25                	je     0x41a6dd
41a6b8:	6a 0f                	push   $0xf
41a6ba:	50                   	push   %eax
41a6bb:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
41a6c1:	6a 10                	push   $0x10
41a6c3:	50                   	push   %eax
41a6c4:	e8 04 77 00 00       	call   0x421dcd
41a6c9:	83 c4 10             	add    $0x10,%esp
41a6cc:	85 c0                	test   %eax,%eax
41a6ce:	0f 85 d6 00 00 00    	jne    0x41a7aa
41a6d4:	66 89 87 1e 01 00 00 	mov    %ax,0x11e(%edi)
41a6db:	eb c4                	jmp    0x41a6a1
41a6dd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41a6e0:	68 14 33 43 00       	push   $0x433314
41a6e5:	56                   	push   %esi
41a6e6:	e8 f0 9d 00 00       	call   0x4244db
41a6eb:	59                   	pop    %ecx
41a6ec:	59                   	pop    %ecx
41a6ed:	85 c0                	test   %eax,%eax
41a6ef:	0f 84 ab 00 00 00    	je     0x41a7a0
41a6f5:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
41a6f8:	0f b7 19             	movzwl (%ecx),%ebx
41a6fb:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41a6fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a701:	6a 2c                	push   $0x2c
41a703:	5a                   	pop    %edx
41a704:	85 c9                	test   %ecx,%ecx
41a706:	75 2b                	jne    0x41a733
41a708:	83 f8 40             	cmp    $0x40,%eax
41a70b:	0f 83 8f 00 00 00    	jae    0x41a7a0