4097d1:	00 77 00             	add    %dh,0x0(%edi)
4097d4:	7f 00                	jg     0x4097d6
4097d6:	64 11 56 0a          	adc    %edx,%fs:0xa(%esi)
4097da:	6c                   	insb   (%dx),%es:(%edi)
4097db:	72 a9                	jb     0x409786
4097dd:	00 45 70             	add    %al,0x70(%ebp)
4097e0:	15 41 77 00 78       	adc    $0x78007741,%eax
4097e5:	0b 63 73             	or     0x73(%ebx),%esp
4097e8:	00 00                	add    %al,(%eax)
4097ea:	6e                   	outsb  %ds:(%esi),(%dx)
4097eb:	0a 7a 08             	or     0x8(%edx),%bh
4097ee:	42                   	inc    %edx
4097ef:	6f                   	outsl  %ds:(%esi),(%dx)
4097f0:	39 00                	cmp    %eax,(%eax)
4097f2:	77 0a                	ja     0x4097fe
4097f4:	1b 6f 20             	sbb    0x20(%edi),%ebp
4097f7:	00 42 0a             	add    %al,0xa(%edx)
4097fa:	64 de 7c 08 69       	fidivrs %fs:0x69(%eax,%ecx,1)
4097ff:	06                   	push   %es
409800:	72 6f                	jb     0x409871
409802:	64 00 72 0a          	add    %dh,%fs:0xa(%edx)
409806:	b8 de 48 07 42       	mov    $0x420748de,%eax
40980b:	06                   	push   %es
40980c:	71 6f                	jno    0x40987d
40980e:	56                   	push   %esi
40980f:	00 7a 0a             	add    %bh,0xa(%edx)
409812:	ab                   	stos   %eax,%es:(%edi)
409813:	06                   	push   %es
409814:	58                   	pop    %eax
409815:	00 64 00 43          	add    %ah,0x43(%eax,%eax,1)
409819:	1c 6e                	sbb    $0x6e,%al
40981b:	00 74 00 50          	add    %dh,0x50(%eax,%eax,1)
40981f:	00 6a 25             	add    %ch,0x25(%edx)
409822:	77 0a                	ja     0x40982e
409824:	72 00                	jb     0x409826
409826:	64 00 40 00          	add    %al,%fs:0x0(%eax)
40982a:	60                   	pusha
40982b:	00 55 31             	add    %dl,0x31(%ebp)
40982e:	45                   	inc    %ebp
40982f:	0a 7a 00             	or     0x0(%edx),%bh
409832:	77 00                	ja     0x409834
409834:	cc                   	int3
409835:	02 16                	add    (%esi),%dl
409837:	f9                   	stc
409838:	42                   	inc    %edx
409839:	00 1e                	add    %bl,(%esi)
40983b:	6f                   	outsl  %ds:(%esi),(%dx)
40983c:	33 00                	xor    (%eax),%eax
40983e:	45                   	inc    %ebp
40983f:	0a 56 11             	or     0x11(%esi),%dl
409842:	75 72                	jne    0x4098b6
409844:	8b 00                	mov    (%eax),%eax
409846:	64 70 30             	fs jo  0x409879
409849:	0f 6f 00             	movq   (%eax),%mm0
40984c:	06                   	push   %es
40984d:	6f                   	outsl  %ds:(%esi),(%dx)
40984e:	03 00                	add    (%eax),%eax
409850:	7a 0a                	jp     0x40985c
409852:	5d                   	pop    %ebp
409853:	02 00                	add    (%eax),%al
409855:	0f 65 00             	pcmpgtw (%eax),%mm0
409858:	32 72 97             	xor    -0x69(%edx),%dh
40985b:	00 76 70             	add    %dh,0x70(%esi)
40985e:	2a 46 7a             	sub    0x7a(%esi),%al
409861:	00 7d 2a             	add    %bh,0x2a(%ebp)
409864:	69 30 61 00 1b 00    	imul   $0x1b0061,(%eax),%esi
40986a:	6e                   	outsb  %ds:(%esi),(%dx)
40986b:	00 79 00             	add    %bh,0x0(%ecx)
40986e:	45                   	inc    %ebp
40986f:	11 67 28             	adc    %esp,0x28(%edi)
409872:	40                   	inc    %eax
409873:	00 72 0a             	add    %dh,0xa(%edx)
409876:	16                   	push   %ss
409877:	25 43 00 1e 02       	and    $0x21e0043,%eax
40987c:	04 29                	add    $0x29,%al
40987e:	44                   	inc    %esp
40987f:	00 0a                	add    %cl,(%edx)
409881:	28 30                	sub    %dh,(%eax)
409883:	00 72 0a             	add    %dh,0xa(%edx)
409886:	17                   	pop    %ss
409887:	48                   	dec    %eax
409888:	42                   	inc    %edx
409889:	00 64 0a 70          	add    %ah,0x70(%edx,%ecx,1)
40988d:	72 76                	jb     0x409905
40988f:	01 7a 70             	add    %edi,0x70(%edx)
409892:	18 49 72             	sbb    %cl,0x72(%ecx)
409895:	00 6e 06             	add    %ch,0x6(%esi)
409898:	30 59 6f             	xor    %bl,0x6f(%ecx)
40989b:	00 06                	add    %al,(%esi)
40989d:	03 5a 5c             	add    0x5c(%edx),%ebx
4098a0:	65 2f                	gs das
4098a2:	18 4a 72             	sbb    %cl,0x72(%edx)
4098a5:	00 6e 28             	add    %ch,0x28(%esi)
4098a8:	7a 00                	jp     0x4098aa
4098aa:	6e                   	outsb  %ds:(%esi),(%dx)
4098ab:	0a 19                	or     (%ecx),%bl
4098ad:	49                   	dec    %ecx
4098ae:	45                   	inc    %ebp
4098af:	00 70 06             	add    %dh,0x6(%eax)
4098b2:	18 4b 72             	sbb    %cl,0x72(%ebx)
4098b5:	00 6e de             	add    %ch,-0x22(%esi)
4098b8:	48                   	dec    %eax
4098b9:	06                   	push   %es
4098ba:	42                   	inc    %edx
4098bb:	06                   	push   %es
4098bc:	70 6f                	jo     0x40992d
4098be:	56                   	push   %esi
4098bf:	00 7a 0a             	add    %bh,0xa(%edx)
4098c2:	ab                   	stos   %eax,%es:(%edi)
4098c3:	de 71 26             	fidivs 0x26(%ecx)
4098c6:	ba 00 68 00 6e       	mov    $0x6e006800,%edx
4098cb:	00 77 1c             	add    %dh,0x1c(%edi)
4098ce:	45                   	inc    %ebp
4098cf:	00 78 00             	add    %bh,0x0(%eax)
4098d2:	6b 00 5f             	imul   $0x5f,(%eax),%eax
4098d5:	49                   	dec    %ecx
4098d6:	64 0a 42 00          	or     %fs:0x0(%edx),%al
4098da:	6e                   	outsb  %ds:(%esi),(%dx)
4098db:	00 76 00             	add    %dh,0x0(%esi)
4098de:	45                   	inc    %ebp
4098df:	00 2f                	add    %ch,(%edi)
4098e1:	55                   	push   %ebp
4098e2:	77 03                	ja     0x4098e7
4098e4:	73 00                	jae    0x4098e6
4098e6:	64 01 59 30          	add    %ebx,%fs:0x30(%ecx)
4098ea:	68 00 a6 00 45       	push   $0x4500a600
4098ef:	00 6a 00             	add    %ch,0x0(%edx)
4098f2:	77 11                	ja     0x409905
4098f4:	01 29                	add    %ebp,(%ecx)
4098f6:	64 00 48 0a          	add    %cl,%fs:0xa(%eax)
4098fa:	68 72 05 01 45       	push   $0x45010572
4098ff:	70 08                	jo     0x409909
409901:	8d 76 00             	lea    0x0(%esi),%esi
409904:	02 73 28             	add    0x28(%ebx),%dh
409907:	00 42 0a             	add    %al,0xa(%edx)
40990a:	01 2f                	add    %ebp,(%edi)
40990c:	76 00                	jbe    0x40990e
40990e:	4f                   	dec    %edi
40990f:	06                   	push   %es
409910:	15 4d 77 00 78       	adc    $0x7800774d,%eax
409915:	16                   	push   %ss
409916:	0b 4e 42             	or     0x42(%esi),%ecx
409919:	00 64 06 19          	add    %ah,0x19(%esi,%eax,1)
40991d:	4d                   	dec    %ebp
40991e:	45                   	inc    %ebp
40991f:	00 70 17             	add    %dh,0x17(%eax)
409922:	18 2e                	sbb    %ch,(%esi)
409924:	72 00                	jb     0x409926
409926:	6e                   	outsb  %ds:(%esi),(%dx)
409927:	06                   	push   %es
409928:	2d 4d 6e 00 7c       	sub    $0x7c006e4d,%eax
40992d:	17                   	pop    %ss
40992e:	2a 2d 7a 00 7d 06    	sub    0x67d007a,%ch
409934:	1d 4d 64 00 48       	sbb    $0x4800644d,%eax
409939:	17                   	pop    %ss
40993a:	01 4f 76             	add    %ecx,0x76(%edi)
40993d:	00 4f 06             	add    %cl,0x6(%edi)
409940:	15 30 77 00 78       	adc    $0x78007730,%eax
409945:	26 70 0b             	es jo  0x409953
409948:	44                   	inc    %esp
409949:	6f                   	outsl  %ds:(%esi),(%dx)
40994a:	3e 00 76 0a          	add    %dh,%ds:0xa(%esi)
40994e:	49                   	dec    %ecx
40994f:	08 15 51 77 00 78    	or     %dl,0x78007751
409955:	0b ba 0a 4a 2c 68    	or     0x682c4a0a(%edx),%edi
40995b:	08 19                	or     %bl,(%ecx)
40995d:	13 45 00             	adc    0x0(%ebp),%eax
409960:	70 dc                	jo     0x40993e
409962:	70 02                	jo     0x409966
409964:	1d 45 64 00 48       	sbb    $0x48006445,%eax
409969:	2d 36 73 5f 00       	sub    $0x5f7336,%eax
40996e:	45                   	inc    %ebp
40996f:	0a 77 09             	or     0x9(%edi),%dh
409972:	04 2a                	add    $0x2a,%al
409974:	72 00                	jb     0x409976
409976:	6e                   	outsb  %ds:(%esi),(%dx)
409977:	13 46 11             	adc    0x11(%esi),%eax
40997a:	6a 72                	push   $0x72
40997c:	05 01 45 70 15       	add    $0x15704501,%eax
409981:	2b 77 00             	sub    0x0(%edi),%esi
409984:	78 11                	js     0x409997
409986:	60                   	pusha
409987:	72 d9                	jb     0x409962
409989:	01 6e 70             	add    %ebp,0x70(%esi)
40998c:	74 72                	je     0x409a00
40998e:	8e 01                	mov    (%ecx),%es
409990:	7a 70                	jp     0x409a02
409992:	74 28                	je     0x4099bc
409994:	35 00 64 0a 2d       	xor    $0x2d0a6400,%eax
409999:	2c 6e                	sub    $0x6e,%al
40999b:	00 7c 11 41          	add    %bh,0x41(%ecx,%edx,1)
40999f:	16                   	push   %ss
4099a0:	15 4e 77 00 78       	adc    $0x7800774e,%eax
4099a5:	11 60 17             	adc    %esp,0x17(%eax)
4099a8:	2d 4f 6e 00 7c       	sub    $0x7c006e4f,%eax
4099ad:	11 41 17             	adc    %eax,0x17(%ecx)
4099b0:	15 2e 77 00 78       	adc    $0x7800772e,%eax
4099b5:	11 60 6f             	adc    %esp,0x6f(%eax)
4099b8:	6d                   	insl   (%dx),%es:(%edi)
4099b9:	00 6e 0a             	add    %ch,0xa(%esi)
4099bc:	7f 6f                	jg     0x409a2d
4099be:	75 00                	jne    0x4099c0
4099c0:	7a 0a                	jp     0x4099cc
4099c2:	51                   	push   %ecx
4099c3:	2a 73 10             	sub    0x10(%ebx),%dh
4099c6:	64 00 40 00          	add    %al,%fs:0x0(%eax)
4099ca:	35 00 7f 64 45       	xor    $0x45647f00,%eax
4099cf:	0a 7a 00             	or     0x0(%edx),%bh
4099d2:	77 00                	ja     0x4099d4
4099d4:	69 30 67 00 5d 00    	imul   $0x5d0067,(%eax),%esi
4099da:	6e                   	outsb  %ds:(%esi),(%dx)
4099db:	00 7e 00             	add    %bh,0x0(%esi)
4099de:	45                   	inc    %ebp
4099df:	11 04 52             	adc    %eax,(%edx,%edx,2)
4099e2:	77 00                	ja     0x4099e4
4099e4:	78 72                	js     0x409a58
4099e6:	87 01                	xchg   %eax,(%ecx)
4099e8:	42                   	inc    %edx
4099e9:	70 79                	jo     0x409a64
4099eb:	6f                   	outsl  %ds:(%esi),(%dx)
4099ec:	6c                   	insb   (%dx),%es:(%edi)
4099ed:	00 45 0a             	add    %al,0xa(%ebp)
4099f0:	70 06                	jo     0x4099f8
4099f2:	75 03                	jne    0x4099f7
4099f4:	1d 53 64 00 48       	sbb    $0x48006453,%eax
4099f9:	de 6d 26             	fisubrs 0x26(%ebp)
4099fc:	a8 00                	test   $0x0,%al
4099fe:	6f                   	outsl  %ds:(%esi),(%dx)
4099ff:	00 7b 10             	add    %bh,0x10(%ebx)
409a02:	77 00                	ja     0x409a04
409a04:	72 00                	jb     0x409a06
409a06:	64 00 59 1b          	add    %bl,%fs:0x1b(%ecx)
409a0a:	6e                   	outsb  %ds:(%esi),(%dx)
409a0b:	03 77 00             	add    0x0(%edi),%esi
409a0e:	45                   	inc    %ebp
409a0f:	01 69 30             	add    %ebp,0x30(%ecx)
409a12:	75 00                	jne    0x409a14
409a14:	5a                   	pop    %edx
409a15:	00 64 00 53          	add    %ah,0x53(%eax,%eax,1)
409a19:	00 6e 11             	add    %ch,0x11(%esi)
409a1c:	5e                   	pop    %esi
409a1d:	09 45 00             	or     %eax,0x0(%ebp)
409a20:	70 0a                	jo     0x409a2c
409a22:	61                   	popa
409a23:	0b 59 16             	or     0x16(%ecx),%ebx
409a26:	62 07                	bound  %eax,(%edi)
409a28:	d8 6f 62             	fsubrs 0x62(%edi)
409a2b:	00 76 0a             	add    %dh,0xa(%esi)
409a2e:	47                   	inc    %edi
409a2f:	28 43 00             	sub    %al,0x0(%ebx)
409a32:	77 0a                	ja     0x409a3e
409a34:	5e                   	pop    %esi
409a35:	02 73 2a             	add    0x2a(%ebx),%dh
409a38:	45                   	inc    %ebp
409a39:	17                   	pop    %ss
409a3a:	36 0b 71 06          	or     %ss:0x6(%ecx),%esi
409a3e:	cb                   	lret
409a3f:	69 48 e4 61 2a 71 30 	imul   $0x30712a61,-0x1c(%eax),%ecx
409a46:	66 00 07             	data16 add %al,(%edi)
409a49:	00 6e 00             	add    %ch,0x0(%esi)
409a4c:	76 00                	jbe    0x409a4e
409a4e:	45                   	inc    %ebp
409a4f:	00 78 72             	add    %bh,0x72(%eax)
409a52:	48                   	dec    %eax
409a53:	02 72 70             	add    0x70(%edx),%dh
409a56:	4c                   	dec    %esp
409a57:	39 42 00             	cmp    %eax,0x0(%edx)
409a5a:	64 2c 7e             	fs sub $0x7e,%al
409a5d:	1f                   	pop    %ds
409a5e:	5f                   	pop    %edi
409a5f:	28 4d 00             	sub    %cl,0x0(%ebp)
409a62:	77 0a                	ja     0x409a6e
409a64:	58                   	pop    %eax
409a65:	02 16                	add    (%esi),%dl
409a67:	4f                   	dec    %edi
409a68:	40                   	inc    %eax
409a69:	00 1e                	add    %bl,(%esi)
409a6b:	28 4f 00             	sub    %cl,0x0(%edi)
409a6e:	45                   	inc    %ebp
409a6f:	0a 56 06             	or     0x6(%esi),%dl
409a72:	5f                   	pop    %edi
409a73:	54                   	push   %esp
409a74:	72 00                	jb     0x409a76
409a76:	6e                   	outsb  %ds:(%esi),(%dx)
409a77:	2a 40 72             	sub    0x72(%eax),%al
409a7a:	37                   	aaa
409a7b:	02 76 70             	add    0x70(%esi),%dh
409a7e:	6d                   	insl   (%dx),%es:(%edi)
409a7f:	39 7a 00             	cmp    %edi,0x0(%edx)
409a82:	7d 2c                	jge    0x409ab0
409a84:	7a 1f                	jp     0x409aa5
409a86:	4c                   	dec    %esp
409a87:	28 75 00             	sub    %dh,0x0(%ebp)
409a8a:	6e                   	outsb  %ds:(%esi),(%dx)
409a8b:	0a 5c 1f 6d          	or     0x6d(%edi,%ebx,1),%bl
409a8f:	28 4d 00             	sub    %cl,0x0(%ebp)
409a92:	77 0a                	ja     0x409a9e
409a94:	58                   	pop    %eax
409a95:	4a                   	dec    %edx
409a96:	66 28 17             	data16 sub %dl,(%edi)
409a99:	00 6e 0a             	add    %ch,0xa(%esi)
409a9c:	74 28                	je     0x409ac6
409a9e:	13 00                	adc    (%eax),%eax
409aa0:	7a 0a                	jp     0x409aac
409aa2:	5f                   	pop    %edi
409aa3:	57                   	push   %edi
409aa4:	72 00                	jb     0x409aa6
409aa6:	6e                   	outsb  %ds:(%esi),(%dx)
409aa7:	2a 59 30             	sub    0x30(%ecx),%bl
409aaa:	6b 00 26             	imul   $0x26,(%eax),%eax
409aad:	03 45 00             	add    0x0(%ebp),%eax
409ab0:	68 00 77 11 5a       	push   $0x5a117700
409ab5:	58                   	pop    %eax
409ab6:	64 00 48 0a          	add    %cl,%fs:0xa(%eax)
409aba:	68 28 6b 00 45       	push   $0x45006b28
409abf:	06                   	push   %es
409ac0:	71 72                	jno    0x409b34
409ac2:	06                   	push   %es
409ac3:	02 72 70             	add    0x70(%edx),%dh
409ac6:	68 72 39 02 6e       	push   $0x6e023972
409acb:	70 7b                	jo     0x409b48
409acd:	72 cc                	jb     0x409a9b
409acf:	02 7a 70             	add    0x70(%edx),%bh
409ad2:	64 04 00             	fs add $0x0,%al
409ad5:	71 66                	jno    0x409b3d
409ad7:	00 32                	add    %dh,(%edx)
409ad9:	13 6b 72             	adc    0x72(%ebx),%ebp
409adc:	49                   	dec    %ecx
409add:	02 45 70             	add    0x70(%ebp),%al
409ae0:	52                   	push   %edx
409ae1:	28 77 00             	sub    %dh,0x0(%edi)
409ae4:	74 13                	je     0x409af9
409ae6:	62 72 cb             	bound  %esi,-0x35(%edx)
409ae9:	02 6e 70             	add    0x70(%esi),%ch
409aec:	65 07                	gs pop %es
409aee:	37                   	aaa
409aef:	71 78                	jno    0x409b69
409af1:	00 07                	add    %al,(%edi)
409af3:	13 7a 72             	adc    0x72(%edx),%edi
409af6:	f7 02 42 70 7d 09    	testl  $0x97d7042,(%edx)
409afc:	04 89                	add    $0x89,%al
409afe:	47                   	inc    %edi
409aff:	00 0a                	add    %cl,(%edx)
409b01:	13 7d 72             	adc    0x72(%ebp),%edi
409b04:	03 02                	add    (%edx),%eax
409b06:	64 70 51             	fs jo  0x409b5a
409b09:	0b 1c 97             	or     (%edi,%edx,4),%ebx
409b0c:	74 00                	je     0x409b0e
409b0e:	35 13 76 72 d2       	xor    $0xd2727613,%eax
409b13:	02 72 70             	add    0x70(%edx),%dh