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
41a711:	50                   	push   %eax
41a712:	56                   	push   %esi
41a713:	6a 40                	push   $0x40
41a715:	57                   	push   %edi
41a716:	e8 b2 76 00 00       	call   0x421dcd
41a71b:	83 c4 10             	add    $0x10,%esp
41a71e:	85 c0                	test   %eax,%eax
41a720:	0f 85 82 00 00 00    	jne    0x41a7a8
41a726:	6a 2e                	push   $0x2e
41a728:	58                   	pop    %eax
41a729:	66 3b d8             	cmp    %ax,%bx
41a72c:	75 4b                	jne    0x41a779
41a72e:	33 c0                	xor    %eax,%eax
41a730:	40                   	inc    %eax
41a731:	eb 5e                	jmp    0x41a791
41a733:	83 f9 01             	cmp    $0x1,%ecx
41a736:	75 16                	jne    0x41a74e
41a738:	83 f8 40             	cmp    $0x40,%eax
41a73b:	73 63                	jae    0x41a7a0
41a73d:	83 fb 5f             	cmp    $0x5f,%ebx
41a740:	74 5e                	je     0x41a7a0
41a742:	50                   	push   %eax
41a743:	56                   	push   %esi
41a744:	6a 40                	push   $0x40
41a746:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
41a74c:	eb 1e                	jmp    0x41a76c
41a74e:	83 f9 02             	cmp    $0x2,%ecx
41a751:	75 4d                	jne    0x41a7a0
41a753:	83 f8 10             	cmp    $0x10,%eax
41a756:	73 48                	jae    0x41a7a0
41a758:	66 85 db             	test   %bx,%bx
41a75b:	74 05                	je     0x41a762
41a75d:	66 3b da             	cmp    %dx,%bx
41a760:	75 3e                	jne    0x41a7a0
41a762:	50                   	push   %eax
41a763:	56                   	push   %esi
41a764:	6a 10                	push   $0x10
41a766:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
41a76c:	50                   	push   %eax
41a76d:	e8 5b 76 00 00       	call   0x421dcd
41a772:	83 c4 10             	add    $0x10,%esp
41a775:	85 c0                	test   %eax,%eax
41a777:	75 2f                	jne    0x41a7a8
41a779:	6a 2c                	push   $0x2c
41a77b:	58                   	pop    %eax
41a77c:	66 3b d8             	cmp    %ax,%bx
41a77f:	0f 84 1c ff ff ff    	je     0x41a6a1
41a785:	66 85 db             	test   %bx,%bx
41a788:	0f 84 13 ff ff ff    	je     0x41a6a1
41a78e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a791:	8b 75 f8             	mov    -0x8(%ebp),%esi
41a794:	83 c6 02             	add    $0x2,%esi
41a797:	40                   	inc    %eax
41a798:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a79b:	e9 40 ff ff ff       	jmp    0x41a6e0
41a7a0:	83 c8 ff             	or     $0xffffffff,%eax
41a7a3:	5f                   	pop    %edi
41a7a4:	5e                   	pop    %esi
41a7a5:	5b                   	pop    %ebx
41a7a6:	c9                   	leave
41a7a7:	c3                   	ret
41a7a8:	33 db                	xor    %ebx,%ebx
41a7aa:	53                   	push   %ebx
41a7ab:	53                   	push   %ebx
41a7ac:	53                   	push   %ebx
41a7ad:	53                   	push   %ebx
41a7ae:	53                   	push   %ebx
41a7af:	e8 67 2c ff ff       	call   0x40d41b
41a7b4:	cc                   	int3
41a7b5:	8b ff                	mov    %edi,%edi
41a7b7:	55                   	push   %ebp
41a7b8:	8b ec                	mov    %esp,%ebp
41a7ba:	56                   	push   %esi
41a7bb:	e8 29 1b 00 00       	call   0x41c2e9
41a7c0:	8b 55 08             	mov    0x8(%ebp),%edx
41a7c3:	8b f0                	mov    %eax,%esi
41a7c5:	6a 00                	push   $0x0
41a7c7:	58                   	pop    %eax
41a7c8:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
41a7ce:	f6 c1 02             	test   $0x2,%cl
41a7d1:	0f 94 c0             	sete   %al
41a7d4:	40                   	inc    %eax
41a7d5:	83 fa ff             	cmp    $0xffffffff,%edx
41a7d8:	74 33                	je     0x41a80d
41a7da:	85 d2                	test   %edx,%edx
41a7dc:	74 36                	je     0x41a814
41a7de:	83 fa 01             	cmp    $0x1,%edx
41a7e1:	74 1f                	je     0x41a802
41a7e3:	83 fa 02             	cmp    $0x2,%edx
41a7e6:	74 15                	je     0x41a7fd
41a7e8:	e8 84 1e 00 00       	call   0x41c671
41a7ed:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41a7f3:	e8 f6 2b ff ff       	call   0x40d3ee
41a7f8:	83 c8 ff             	or     $0xffffffff,%eax
41a7fb:	eb 17                	jmp    0x41a814
41a7fd:	83 e1 fd             	and    $0xfffffffd,%ecx
41a800:	eb 03                	jmp    0x41a805
41a802:	83 c9 02             	or     $0x2,%ecx
41a805:	89 8e 50 03 00 00    	mov    %ecx,0x350(%esi)
41a80b:	eb 07                	jmp    0x41a814
41a80d:	83 0d 34 db 43 00 ff 	orl    $0xffffffff,0x43db34
41a814:	5e                   	pop    %esi
41a815:	5d                   	pop    %ebp
41a816:	c3                   	ret
41a817:	8b ff                	mov    %edi,%edi
41a819:	55                   	push   %ebp
41a81a:	8b ec                	mov    %esp,%ebp
41a81c:	56                   	push   %esi
41a81d:	8b 75 0c             	mov    0xc(%ebp),%esi
41a820:	85 f6                	test   %esi,%esi
41a822:	74 1f                	je     0x41a843
41a824:	8b 45 08             	mov    0x8(%ebp),%eax
41a827:	85 c0                	test   %eax,%eax
41a829:	74 18                	je     0x41a843
41a82b:	3b c6                	cmp    %esi,%eax
41a82d:	74 14                	je     0x41a843
41a82f:	57                   	push   %edi
41a830:	6a 2e                	push   $0x2e
41a832:	59                   	pop    %ecx
41a833:	8b f8                	mov    %eax,%edi
41a835:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41a837:	83 60 0c 00          	andl   $0x0,0xc(%eax)
41a83b:	50                   	push   %eax
41a83c:	e8 f4 9d 00 00       	call   0x424635
41a841:	59                   	pop    %ecx
41a842:	5f                   	pop    %edi
41a843:	5e                   	pop    %esi
41a844:	5d                   	pop    %ebp
41a845:	c3                   	ret
41a846:	8b ff                	mov    %edi,%edi
41a848:	55                   	push   %ebp
41a849:	8b ec                	mov    %esp,%ebp
41a84b:	81 ec fc 01 00 00    	sub    $0x1fc,%esp
41a851:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41a856:	33 c5                	xor    %ebp,%eax
41a858:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a85b:	8b 45 1c             	mov    0x1c(%ebp),%eax
41a85e:	53                   	push   %ebx
41a85f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41a862:	56                   	push   %esi
41a863:	8b 75 08             	mov    0x8(%ebp),%esi
41a866:	89 85 1c fe ff ff    	mov    %eax,-0x1e4(%ebp)
41a86c:	33 c0                	xor    %eax,%eax
41a86e:	89 9d 14 fe ff ff    	mov    %ebx,-0x1ec(%ebp)
41a874:	57                   	push   %edi
41a875:	8b 7d 14             	mov    0x14(%ebp),%edi
41a878:	85 f6                	test   %esi,%esi
41a87a:	0f 84 70 03 00 00    	je     0x41abf0
41a880:	66 83 3e 43          	cmpw   $0x43,(%esi)
41a884:	89 85 20 fe ff ff    	mov    %eax,-0x1e0(%ebp)
41a88a:	75 2c                	jne    0x41a8b8
41a88c:	66 39 46 02          	cmp    %ax,0x2(%esi)
41a890:	75 26                	jne    0x41a8b8
41a892:	68 10 33 43 00       	push   $0x433310
41a897:	ff 75 10             	push   0x10(%ebp)
41a89a:	53                   	push   %ebx
41a89b:	e8 e8 81 ff ff       	call   0x412a88
41a8a0:	83 c4 0c             	add    $0xc,%esp
41a8a3:	85 c0                	test   %eax,%eax
41a8a5:	0f 85 54 03 00 00    	jne    0x41abff
41a8ab:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
41a8b1:	89 01                	mov    %eax,(%ecx)
41a8b3:	e9 36 03 00 00       	jmp    0x41abee
41a8b8:	e8 2c 1a 00 00       	call   0x41c2e9
41a8bd:	83 c0 50             	add    $0x50,%eax
41a8c0:	50                   	push   %eax
41a8c1:	ff 75 18             	push   0x18(%ebp)
41a8c4:	8d 48 18             	lea    0x18(%eax),%ecx
41a8c7:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
41a8cd:	8d 98 22 01 00 00    	lea    0x122(%eax),%ebx
41a8d3:	8d 48 1c             	lea    0x1c(%eax),%ecx
41a8d6:	89 9d 28 fe ff ff    	mov    %ebx,-0x1d8(%ebp)
41a8dc:	89 8d 24 fe ff ff    	mov    %ecx,-0x1dc(%ebp)
41a8e2:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41a8e8:	57                   	push   %edi