45a563:	02 16                	add    (%esi),%dl
45a565:	57                   	push   %edi
45a566:	72 61                	jb     0x45a5c9
45a568:	70 4e                	jo     0x45a5b8
45a56a:	6f                   	outsl  %ds:(%esi),(%dx)
45a56b:	6e                   	outsb  %ds:(%esi),(%dx)
45a56c:	45                   	inc    %ebp
45a56d:	78 63                	js     0x45a5d2
45a56f:	65 70 74             	gs jo  0x45a5e6
45a572:	69 6f 6e 54 68 72 6f 	imul   $0x6f726854,0x6e(%edi),%ebp
45a579:	77 73                	ja     0x45a5ee
45a57b:	01 06                	add    %eax,(%esi)
45a57d:	20 01                	and    %al,(%ecx)
45a57f:	01 11                	add    %edx,(%ecx)
45a581:	81 89 08 01 00 07 01 	orl    $0x1,0x7000108(%ecx)
45a588:	00 00 00
45a58b:	00 04 20             	add    %al,(%eax,%eiz,1)
45a58e:	01 01                	add    %eax,(%ecx)
45a590:	0e                   	push   %cs
45a591:	13 01                	adc    (%ecx),%eax
45a593:	00 0e                	add    %cl,(%esi)
45a595:	4d                   	dec    %ebp
45a596:	59                   	pop    %ecx
45a597:	5f                   	pop    %edi
45a598:	41                   	inc    %ecx
45a599:	50                   	push   %eax
45a59a:	50                   	push   %eax
45a59b:	4c                   	dec    %esp
45a59c:	49                   	dec    %ecx
45a59d:	43                   	inc    %ebx
45a59e:	41                   	inc    %ecx
45a59f:	54                   	push   %esp
45a5a0:	49                   	dec    %ecx
45a5a1:	4f                   	dec    %edi
45a5a2:	4e                   	dec    %esi
45a5a3:	00 00                	add    %al,(%eax)
45a5a5:	05 01 00 00 00       	add    $0x1,%eax
45a5aa:	00 17                	add    %dl,(%edi)
45a5ac:	01 00                	add    %eax,(%eax)
45a5ae:	12 43 6f             	adc    0x6f(%ebx),%al
45a5b1:	70 79                	jo     0x45a62c
45a5b3:	72 69                	jb     0x45a61e
45a5b5:	67 68 74 20 c2 a9    	addr16 push $0xa9c22074
45a5bb:	20 20                	and    %ah,(%eax)
45a5bd:	32 30                	xor    (%eax),%dh
45a5bf:	31 39                	xor    %edi,(%ecx)
45a5c1:	00 00                	add    %al,(%eax)
45a5c3:	29 01                	sub    %eax,(%ecx)
45a5c5:	00 24 38             	add    %ah,(%eax,%edi,1)
45a5c8:	31 31                	xor    %esi,(%ecx)
45a5ca:	35 65 36 36 36       	xor    $0x36363665,%eax
45a5cf:	2d 64 33 63 31       	sub    $0x31633364,%eax
45a5d4:	2d 34 32 35 62       	sub    $0x62353234,%eax
45a5d9:	2d 61 37 30 61       	sub    $0x61303761,%eax
45a5de:	2d 32 64 36 36       	sub    $0x36366432,%eax
45a5e3:	33 61 30             	xor    0x30(%ecx),%esp
45a5e6:	61                   	popa
45a5e7:	39 35 38 36 00 00    	cmp    %esi,0x3638
45a5ed:	0c 01                	or     $0x1,%al
45a5ef:	00 07                	add    %al,(%edi)
45a5f1:	31 2e                	xor    %ebp,(%esi)
45a5f3:	30 2e                	xor    %ch,(%esi)
45a5f5:	30 2e                	xor    %ch,(%esi)
45a5f7:	30 00                	xor    %al,(%eax)
45a5f9:	00 06                	add    %al,(%esi)
45a5fb:	20 01                	and    %al,(%ecx)
45a5fd:	01 11                	add    %edx,(%ecx)
45a5ff:	81 bd 08 01 00 00 00 	cmpl   $0x0,0x108(%ebp)
45a606:	00 00 00
45a609:	00 05 20 02 01 0e    	add    %al,0xe010220
45a60f:	0e                   	push   %cs
45a610:	41                   	inc    %ecx
45a611:	01 00                	add    %eax,(%eax)
45a613:	33 53 79             	xor    0x79(%ebx),%edx
45a616:	73 74                	jae    0x45a68c
45a618:	65 6d                	gs insl (%dx),%es:(%edi)
45a61a:	2e 52                	cs push %edx
45a61c:	65 73 6f             	gs jae 0x45a68e
45a61f:	75 72                	jne    0x45a693
45a621:	63 65 73             	arpl   %esp,0x73(%ebp)
45a624:	2e 54                	cs push %esp
45a626:	6f                   	outsl  %ds:(%esi),(%dx)
45a627:	6f                   	outsl  %ds:(%esi),(%dx)
45a628:	6c                   	insb   (%dx),%es:(%edi)
45a629:	73 2e                	jae    0x45a659
45a62b:	53                   	push   %ebx
45a62c:	74 72                	je     0x45a6a0
45a62e:	6f                   	outsl  %ds:(%esi),(%dx)
45a62f:	6e                   	outsb  %ds:(%esi),(%dx)
45a630:	67 6c                	insb   (%dx),%es:(%di)
45a632:	79 54                	jns    0x45a688
45a634:	79 70                	jns    0x45a6a6
45a636:	65 64 52             	gs fs push %edx
45a639:	65 73 6f             	gs jae 0x45a6ab
45a63c:	75 72                	jne    0x45a6b0
45a63e:	63 65 42             	arpl   %esp,0x42(%ebp)
45a641:	75 69                	jne    0x45a6ac
45a643:	6c                   	insb   (%dx),%es:(%edi)
45a644:	64 65 72 08          	fs gs jb 0x45a650
45a648:	31 36                	xor    %esi,(%esi)
45a64a:	2e 30 2e             	xor    %ch,%cs:(%esi)
45a64d:	30 2e                	xor    %ch,(%esi)
45a64f:	30 00                	xor    %al,(%eax)
45a651:	00 06                	add    %al,(%esi)
45a653:	20 01                	and    %al,(%ecx)
45a655:	01 11                	add    %edx,(%ecx)
45a657:	81 d1 08 01 00 02    	adc    $0x2000108,%ecx
45a65d:	00 00                	add    %al,(%eax)
45a65f:	00 00                	add    %al,(%eax)
45a661:	00 59 01             	add    %bl,0x1(%ecx)
45a664:	00 4b 4d             	add    %cl,0x4d(%ebx)
45a667:	69 63 72 6f 73 6f 66 	imul   $0x666f736f,0x72(%ebx),%esp
45a66e:	74 2e                	je     0x45a69e
45a670:	56                   	push   %esi
45a671:	69 73 75 61 6c 53 74 	imul   $0x74536c61,0x75(%ebx),%esi
45a678:	75 64                	jne    0x45a6de
45a67a:	69 6f 2e 45 64 69 74 	imul   $0x74696445,0x2e(%edi),%ebp
45a681:	6f                   	outsl  %ds:(%esi),(%dx)
45a682:	72 73                	jb     0x45a6f7
45a684:	2e 53                	cs push %ebx
45a686:	65 74 74             	gs je  0x45a6fd
45a689:	69 6e 67 73 44 65 73 	imul   $0x73654473,0x67(%esi),%ebp
45a690:	69 67 6e 65 72 2e 53 	imul   $0x532e7265,0x6e(%edi),%esp
45a697:	65 74 74             	gs je  0x45a70e
45a69a:	69 6e 67 73 53 69 6e 	imul   $0x6e695373,0x67(%esi),%ebp
45a6a1:	67 6c                	insb   (%dx),%es:(%di)
45a6a3:	65 46                	gs inc %esi
45a6a5:	69 6c 65 47 65 6e 65 	imul   $0x72656e65,0x47(%ebp,%eiz,2),%ebp
45a6ac:	72
45a6ad:	61                   	popa
45a6ae:	74 6f                	je     0x45a71f
45a6b0:	72 08                	jb     0x45a6ba
45a6b2:	31 36                	xor    %esi,(%esi)
45a6b4:	2e 31 2e             	xor    %ebp,%cs:(%esi)
45a6b7:	30 2e                	xor    %ch,(%esi)
45a6b9:	30 00                	xor    %al,(%eax)
45a6bb:	00 10                	add    %dl,(%eax)
45a6bd:	07                   	pop    %es
45a6be:	08 12                	or     %dl,(%edx)
45a6c0:	81 d5 12 14 1d 05    	adc    $0x51d1412,%ebp
45a6c6:	0a 12                	or     (%edx),%dl
45a6c8:	81 d5 0a 08 08 07    	adc    $0x708080a,%ebp
45a6ce:	20 03                	and    %al,(%ebx)
45a6d0:	08 1d 05 08 08 06    	or     %bl,0x6080805
45a6d6:	20 02                	and    %al,(%edx)
45a6d8:	01 1d 05 02 03 20    	add    %ebx,0x20030205
45a6de:	00 0a                	add    %cl,(%edx)
45a6e0:	12 07                	adc    (%edi),%al
45a6e2:	0c 09                	or     $0x9,%al
45a6e4:	1d 09 1d 09 09       	sbb    $0x9091d09,%eax
45a6e9:	08 08                	or     %cl,(%eax)
45a6eb:	1d 09 1d 05 08       	sbb    $0x8051d09,%eax
45a6f0:	08 08                	or     %cl,(%eax)
45a6f2:	09 09                	or     %ecx,(%ecx)
45a6f4:	00 02                	add    %al,(%edx)
45a6f6:	01 12                	add    %edx,(%edx)
45a6f8:	81 41 11 81 e5 0e 07 	addl   $0x70ee581,0x11(%ecx)
45a6ff:	07                   	pop    %es
45a700:	09 1e                	or     %ebx,(%esi)
45a702:	00 08                	add    %cl,(%eax)
45a704:	1d 1e 00 08 08       	sbb    $0x808001e,%eax
45a709:	12 81 41 02 1e 00    	adc    0x1e0241(%ecx),%al
45a70f:	07                   	pop    %es
45a710:	20 03                	and    %al,(%ebx)
45a712:	0e                   	push   %cs
45a713:	1d 05 08 08 05       	sbb    $0x5080805,%eax
45a718:	20 00                	and    %al,(%eax)
45a71a:	12 80 c1 09 00 02    	adc    0x20009c1(%eax),%al
45a720:	12 81 41 12 80 c1    	adc    -0x3e7fedbf(%ecx),%al
45a726:	08 03                	or     %al,(%ebx)
45a728:	07                   	pop    %es
45a729:	01 09                	add    %ecx,(%ecx)
45a72b:	04 07                	add    $0x7,%al
45a72d:	02 09                	add    (%ecx),%cl
45a72f:	08 06                	or     %al,(%esi)
45a731:	07                   	pop    %es
45a732:	04 09                	add    $0x9,%al
45a734:	09 08                	or     %ecx,(%eax)
45a736:	09 03                	or     %eax,(%ebx)
45a738:	07                   	pop    %es
45a739:	01 08                	add    %ecx,(%eax)
45a73b:	07                   	pop    %es
45a73c:	07                   	pop    %es
45a73d:	05 09 09 09 08       	add    $0x8090909,%eax
45a742:	09 05 00 02 09 09    	or     %eax,0x9090200
45a748:	09 05 07 03 09 09    	or     %eax,0x9090307
45a74e:	09 12                	or     %edx,(%edx)
45a750:	07                   	pop    %es
45a751:	0f 11 28             	movups %xmm5,(%eax)
45a754:	09 09                	or     %ecx,(%ecx)
45a756:	09 09                	or     %ecx,(%ecx)
45a758:	0b 0b                	or     (%ebx),%ecx
45a75a:	05 09 05 05 09       	add    $0x9050509,%eax
45a75f:	09 09                	or     %ecx,(%ecx)
45a761:	08 07                	or     %al,(%edi)
45a763:	07                   	pop    %es
45a764:	05 08 08 08 09       	add    $0x9080808,%eax
45a769:	08 04 07             	or     %al,(%edi,%eax,1)
45a76c:	02 09                	add    (%ecx),%cl
45a76e:	09 07                	or     %eax,(%edi)
45a770:	20 03                	and    %al,(%ebx)
45a772:	01 1d 05 08 08 09    	add    %ebx,0x9080805
45a778:	07                   	pop    %es
45a779:	04 12                	add    $0x12,%al
45a77b:	11 08                	adc    %ecx,(%eax)
45a77d:	11 81 f5 08 05 00    	adc    %eax,0x508f5(%ecx)
45a783:	00 11                	add    %dl,(%ecx)
45a785:	81 f5 05 07 03 08    	xor    $0x8030705,%ebp
45a78b:	02 08                	add    (%eax),%cl
45a78d:	05 07 03 0e 0e       	add    $0xe0e0307,%eax
45a792:	0e                   	push   %cs
45a793:	03 0a                	add    (%edx),%ecx
45a795:	01 0e                	add    %ecx,(%esi)
45a797:	03 07                	add    (%edi),%eax
45a799:	01 0e                	add    %ecx,(%esi)
45a79b:	06                   	push   %es
45a79c:	07                   	pop    %es
45a79d:	03 02                	add    (%edx),%eax
45a79f:	12 15 08 05 20 02    	adc    0x2200508,%dl
45a7a5:	08 08                	or     %cl,(%eax)
45a7a7:	08 04 07             	or     %al,(%edi,%eax,1)
45a7aa:	01 11                	add    %edx,(%ecx)
45a7ac:	35 03 20 00 0e       	xor    $0xe002003,%eax
45a7b1:	03 07                	add    (%edi),%eax
45a7b3:	01 02                	add    %eax,(%edx)
45a7b5:	05 20 02 01 0c       	add    $0xc010220,%eax
45a7ba:	0c 05                	or     $0x5,%al
45a7bc:	20 01                	and    %al,(%ecx)
45a7be:	01 11                	add    %edx,(%ecx)
45a7c0:	49                   	dec    %ecx
45a7c1:	05 20 01 01 11       	add    $0x11010120,%eax
45a7c6:	51                   	push   %ecx
45a7c7:	04 20                	add    $0x20,%al
45a7c9:	00 12                	add    %dl,(%edx)
45a7cb:	55                   	push   %ebp
45a7cc:	05 20 01 01 12       	add    $0x12010120,%eax
45a7d1:	45                   	inc    %ebp
45a7d2:	05 20 01 01 11       	add    $0x11010120,%eax
45a7d7:	59                   	pop    %ecx
45a7d8:	05 20 01 01 11       	add    $0x11010120,%eax
45a7dd:	5d                   	pop    %ebp
45a7de:	0a 20                	or     (%eax),%ah
45a7e0:	05 01 0e 0c 11       	add    $0x110c0e01,%eax
45a7e5:	65 11 69 05          	adc    %ebp,%gs:0x5(%ecx)
45a7e9:	05 20 01 01 12       	add    $0x12010120,%eax
45a7ee:	61                   	popa
45a7ef:	04 20                	add    $0x20,%al
45a7f1:	00 12                	add    %dl,(%edx)
45a7f3:	6d                   	insl   (%dx),%es:(%edi)
45a7f4:	06                   	push   %es
45a7f5:	20 02                	and    %al,(%edx)
45a7f7:	01 11                	add    %edx,(%ecx)
45a7f9:	75 0c                	jne    0x45a807
45a7fb:	05 20 01 08 12       	add    $0x12080120,%eax
45a800:	71 04                	jno    0x45a806
45a802:	20 00                	and    %al,(%eax)
45a804:	12 79 05             	adc    0x5(%ecx),%bh
45a807:	20 01                	and    %al,(%ecx)
45a809:	08 12                	or     %dl,(%edx)
45a80b:	7d 06                	jge    0x45a813
45a80d:	20 01                	and    %al,(%ecx)
45a80f:	01 12                	add    %edx,(%edx)
45a811:	80 85 06 20 01 01 11 	addb   $0x11,0x1012006(%ebp)
45a818:	80 8d 06 20 01 01 11 	orb    $0x11,0x1012006(%ebp)
45a81f:	80 91 08 14 12 44 02 	adcb   $0x2,0x44121408(%ecx)
45a826:	00 02                	add    %al,(%edx)
45a828:	00 00                	add    %al,(%eax)
45a82a:	07                   	pop    %es
45a82b:	15 12 80 95 01       	adc    $0x1958012,%eax
45a830:	12 44 10 07          	adc    0x7(%eax,%edx,1),%al
45a834:	0a 02                	or     (%edx),%al
45a836:	08 08                	or     %cl,(%eax)
45a838:	12 2d 11 80 b4 12    	adc    0x12b48011,%ch
45a83e:	44                   	inc    %esp
45a83f:	02 02                	add    (%edx),%al
45a841:	02 02                	add    (%edx),%al
45a843:	04 06                	add    $0x6,%al
45a845:	11 80 9d 09 14 12    	adc    %eax,0x1214099d(%eax)
45a84b:	80 e4 02             	and    $0x2,%ah
45a84e:	00 02                	add    %al,(%edx)
45a850:	00 00                	add    %al,(%eax)
45a852:	07                   	pop    %es
45a853:	20 02                	and    %al,(%edx)
45a855:	12 80 e4 08 08 07    	adc    0x70808e4(%eax),%al
45a85b:	20 03                	and    %al,(%ebx)
45a85d:	01 08                	add    %ecx,(%eax)
45a85f:	08 12                	or     %dl,(%edx)
45a861:	44                   	inc    %esp
45a862:	07                   	pop    %es
45a863:	07                   	pop    %es
45a864:	02 12                	add    (%edx),%dl
45a866:	80 a5 11 4d 06 20 02 	andb   $0x2,0x20064d11(%ebp)
45a86d:	12 44 08 08          	adc    0x8(%eax,%ecx,1),%al
45a871:	1e                   	push   %ds
45a872:	07                   	pop    %es
45a873:	08 12                	or     %dl,(%edx)
45a875:	44                   	inc    %esp
45a876:	12 80 e4 15 12 80    	adc    -0x7fedea1c(%eax),%al
45a87c:	95                   	xchg   %eax,%ebp
45a87d:	01 12                	add    %edx,(%edx)
45a87f:	80 dc 02             	sbb    $0x2,%ah
45a882:	02 15 11 82 09 01    	add    0x1098211,%dl
45a888:	12 80 dc 12 80 dc    	adc    -0x237fed24(%eax),%al
45a88e:	12 44 05 20          	adc    0x20(%ebp,%eax,1),%al
45a892:	01 01                	add    %eax,(%ecx)
45a894:	13 00                	adc    (%eax),%eax
45a896:	08 15 12 80 95 01    	or     %dl,0x1958012
45a89c:	12 80 dc 09 20 00    	adc    0x2009dc(%eax),%al
45a8a2:	15 11 82 09 01       	adc    $0x1098211,%eax
45a8a7:	13 00                	adc    (%eax),%eax
45a8a9:	08 15 11 82 09 01    	or     %dl,0x1098211
45a8af:	12 80 dc 04 20 00    	adc    0x2004dc(%eax),%al
45a8b5:	13 00                	adc    (%eax),%eax
45a8b7:	0b 07                	or     (%edi),%eax
45a8b9:	02 15 11 82 09 01    	add    0x1098211,%dl
45a8bf:	12 44 12 44          	adc    0x44(%edx,%edx,1),%al
45a8c3:	07                   	pop    %es
45a8c4:	15 11 82 09 01       	adc    $0x1098211,%eax
45a8c9:	12 44 05 20          	adc    0x20(%ebp,%eax,1),%al
45a8cd:	00 12                	add    %dl,(%edx)
45a8cf:	80 99 06 20 01 01 11 	sbbb   $0x11,0x1012006(%ecx)
45a8d6:	80 9d 07 20 03 01 0e 	sbbb   $0xe,0x1032007(%ebp)
45a8dd:	0c 11                	or     $0x11,%al
45a8df:	65 06                	gs push %es
45a8e1:	20 01                	and    %al,(%ecx)
45a8e3:	01 11                	add    %edx,(%ecx)
45a8e5:	80 a1 06 20 01 01 12 	andb   $0x12,0x1012006(%ecx)
45a8ec:	80 a5 04 07 01 12 48 	andb   $0x48,0x12010704(%ebp)
45a8f3:	05 07 02 12 4c       	add    $0x4c120207,%eax
45a8f8:	02 1f                	add    (%edi),%bl
45a8fa:	07                   	pop    %es
45a8fb:	09 12                	or     %edx,(%edx)
45a8fd:	54                   	push   %esp
45a8fe:	15 12 80 95 01       	adc    $0x1958012,%eax
45a903:	12 45 12             	adc    0x12(%ebp),%al
45a906:	29 12                	sub    %edx,(%edx)
45a908:	29 12                	sub    %edx,(%edx)
45a90a:	29 12                	sub    %edx,(%edx)
45a90c:	29 12                	sub    %edx,(%edx)
45a90e:	80 b5 15 11 82 09 01 	xorb   $0x1,0x9821115(%ebp)
45a915:	12 45 12             	adc    0x12(%ebp),%al
45a918:	45                   	inc    %ebp
45a919:	07                   	pop    %es
45a91a:	15 12 80 95 01       	adc    $0x1958012,%eax
45a91f:	12 45 07             	adc    0x7(%ebp),%al
45a922:	15 11 82 09 01       	adc    $0x1098211,%eax
45a927:	12 45 04             	adc    0x4(%ebp),%al
45a92a:	20 00                	and    %al,(%eax)
45a92c:	11 5d 04             	adc    %ebx,0x4(%ebp)
45a92f:	20 00                	and    %al,(%eax)