401711:	64 61                	fs popa
401713:	74 61                	je     0x401776
401715:	24 62                	and    $0x62,%al
401717:	72 63                	jb     0x40177c
401719:	00 00                	add    %al,(%eax)
40171b:	00 10                	add    %dl,(%eax)
40171d:	50                   	push   %eax
40171e:	00 00                	add    %al,(%eax)
401720:	20 00                	and    %al,(%eax)
401722:	00 00                	add    %al,(%eax)
401724:	2e 64 61             	cs fs popa
401727:	74 61                	je     0x40178a
401729:	00 00                	add    %al,(%eax)
40172b:	00 30                	add    %dh,(%eax)
40172d:	50                   	push   %eax
40172e:	00 00                	add    %al,(%eax)
401730:	60                   	pusha
401731:	04 00                	add    $0x0,%al
401733:	00 2e                	add    %ch,(%esi)
401735:	62 73 73             	bound  %esi,0x73(%ebx)
401738:	00 00                	add    %al,(%eax)
40173a:	00 00                	add    %al,(%eax)
40173c:	00 60 00             	add    %ah,0x0(%eax)
40173f:	00 90 01 00 00 2e    	add    %dl,0x2e000001(%eax)
401745:	69 64 61 74 61 24 35 	imul   $0x352461,0x74(%ecx,%eiz,2),%esp
40174c:	00
40174d:	00 00                	add    %al,(%eax)
40174f:	00 90 61 00 00 04    	add    %dl,0x4000061(%eax)
401755:	00 00                	add    %al,(%eax)
401757:	00 2e                	add    %ch,(%esi)
401759:	30 30                	xor    %dh,(%eax)
40175b:	63 66 67             	arpl   %esp,0x67(%esi)
40175e:	00 00                	add    %al,(%eax)
401760:	94                   	xchg   %eax,%esp
401761:	61                   	popa
401762:	00 00                	add    %al,(%eax)
401764:	04 01                	add    $0x1,%al
401766:	00 00                	add    %al,(%eax)
401768:	2e 69 64 61 74 61 24 	imul   $0x322461,%cs:0x74(%ecx,%eiz,2),%esp
40176f:	32 00
401771:	00 00                	add    %al,(%eax)
401773:	00 98 62 00 00 14    	add    %bl,0x14000062(%eax)
401779:	00 00                	add    %al,(%eax)
40177b:	00 2e                	add    %ch,(%esi)
40177d:	69 64 61 74 61 24 33 	imul   $0x332461,0x74(%ecx,%eiz,2),%esp
401784:	00
401785:	00 00                	add    %al,(%eax)
401787:	00 ac 62 00 00 90 01 	add    %ch,0x1900000(%edx,%eiz,2)
40178e:	00 00                	add    %al,(%eax)
401790:	2e 69 64 61 74 61 24 	imul   $0x342461,%cs:0x74(%ecx,%eiz,2),%esp
401797:	34 00
401799:	00 00                	add    %al,(%eax)
40179b:	00 3c 64             	add    %bh,(%esp,%eiz,2)
40179e:	00 00                	add    %al,(%eax)
4017a0:	de 06                	fiadds (%esi)
4017a2:	00 00                	add    %al,(%eax)
4017a4:	2e 69 64 61 74 61 24 	imul   $0x362461,%cs:0x74(%ecx,%eiz,2),%esp
4017ab:	36 00
4017ad:	00 00                	add    %al,(%eax)
4017af:	00 00                	add    %al,(%eax)
4017b1:	70 00                	jo     0x4017b3
4017b3:	00 a0 00 00 00 2e    	add    %ah,0x2e000000(%eax)
4017b9:	72 73                	jb     0x40182e
4017bb:	72 63                	jb     0x401820
4017bd:	24 30                	and    $0x30,%al
4017bf:	31 00                	xor    %eax,(%eax)
4017c1:	00 00                	add    %al,(%eax)
4017c3:	00 a0 70 00 00 48    	add    %ah,0x48000070(%eax)
4017c9:	08 00                	or     %al,(%eax)
4017cb:	00 2e                	add    %ch,(%esi)
4017cd:	72 73                	jb     0x401842
4017cf:	72 63                	jb     0x401834
4017d1:	24 30                	and    $0x30,%al
4017d3:	32 00                	xor    (%eax),%al
4017d5:	00 00                	add    %al,(%eax)
4017d7:	00 20                	add    %ah,(%eax)
4017d9:	00 00                	add    %al,(%eax)
4017db:	00 cc                	add    %cl,%ah
4017dd:	dd a5 94 4e 67 b7    	frstor -0x4898b16c(%ebp)
4017e3:	2d c3 c1 89 2e       	sub    $0x2e89c1c3,%eax
4017e8:	55                   	push   %ebp
4017e9:	72 7b                	jb     0x401866
4017eb:	93                   	xchg   %eax,%ebx
4017ec:	e7 0e                	out    %eax,$0xe
4017ee:	79 03                	jns    0x4017f3
4017f0:	ce                   	into
4017f1:	66 21 46 b2          	and    %ax,-0x4e(%esi)
4017f5:	17                   	pop    %ss
4017f6:	25 06 6a e4 e8       	and    $0xe8e46a06,%eax
4017fb:	94                   	xchg   %eax,%esp
4017fc:	00 00                	add    %al,(%eax)
4017fe:	00 00                	add    %al,(%eax)
401800:	68 70 49 40 00       	push   $0x404970
401805:	e8 af 2c 00 00       	call   0x4044b9
40180a:	59                   	pop    %ecx
40180b:	c3                   	ret
40180c:	cc                   	int3
40180d:	cc                   	int3
40180e:	cc                   	int3
40180f:	cc                   	int3
401810:	68 80 49 40 00       	push   $0x404980
401815:	e8 9f 2c 00 00       	call   0x4044b9
40181a:	59                   	pop    %ecx
40181b:	c3                   	ret
40181c:	cc                   	int3
40181d:	cc                   	int3
40181e:	cc                   	int3
40181f:	cc                   	int3
401820:	c7 05 a8 53 40 00 20 	movl   $0x402b20,0x4053a8
401827:	2b 40 00
40182a:	c7 05 84 53 40 00 00 	movl   $0x405000,0x405384
401831:	50 40 00
401834:	c7 05 94 53 40 00 50 	movl   $0x405450,0x405394
40183b:	54 40 00
40183e:	c3                   	ret
40183f:	cc                   	int3
401840:	c7 05 c8 53 40 00 40 	movl   $0x401e40,0x4053c8
401847:	1e 40 00
40184a:	c7 05 b0 53 40 00 70 	movl   $0x401e70,0x4053b0
401851:	1e 40 00
401854:	c7 05 c4 53 40 00 80 	movl   $0x401e80,0x4053c4
40185b:	1e 40 00
40185e:	c7 05 a4 53 40 00 e0 	movl   $0x402be0,0x4053a4
401865:	2b 40 00
401868:	c7 05 ac 53 40 00 a0 	movl   $0x402ba0,0x4053ac
40186f:	2b 40 00
401872:	c3                   	ret
401873:	cc                   	int3
401874:	cc                   	int3
401875:	cc                   	int3
401876:	cc                   	int3
401877:	cc                   	int3
401878:	cc                   	int3
401879:	cc                   	int3
40187a:	cc                   	int3
40187b:	cc                   	int3
40187c:	cc                   	int3
40187d:	cc                   	int3
40187e:	cc                   	int3
40187f:	cc                   	int3
401880:	33 d2                	xor    %edx,%edx
401882:	39 11                	cmp    %edx,(%ecx)
401884:	75 22                	jne    0x4018a8
401886:	8b 41 04             	mov    0x4(%ecx),%eax
401889:	3b 05 a8 14 40 00    	cmp    0x4014a8,%eax
40188f:	75 17                	jne    0x4018a8
401891:	8b 41 08             	mov    0x8(%ecx),%eax
401894:	3b 05 ac 14 40 00    	cmp    0x4014ac,%eax
40189a:	75 0c                	jne    0x4018a8
40189c:	8b 41 0c             	mov    0xc(%ecx),%eax
40189f:	3b 05 b0 14 40 00    	cmp    0x4014b0,%eax
4018a5:	75 01                	jne    0x4018a8
4018a7:	42                   	inc    %edx
4018a8:	8b c2                	mov    %edx,%eax
4018aa:	c3                   	ret
4018ab:	8b ff                	mov    %edi,%edi
4018ad:	55                   	push   %ebp
4018ae:	8b ec                	mov    %esp,%ebp
4018b0:	56                   	push   %esi
4018b1:	33 f6                	xor    %esi,%esi
4018b3:	85 d2                	test   %edx,%edx
4018b5:	74 08                	je     0x4018bf
4018b7:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4018bd:	76 05                	jbe    0x4018c4
4018bf:	be 57 00 07 80       	mov    $0x80070057,%esi
4018c4:	85 f6                	test   %esi,%esi
4018c6:	78 41                	js     0x401909
4018c8:	8b f2                	mov    %edx,%esi
4018ca:	85 d2                	test   %edx,%edx
4018cc:	74 28                	je     0x4018f6
4018ce:	57                   	push   %edi
4018cf:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
4018d4:	2b fa                	sub    %edx,%edi
4018d6:	8b 55 08             	mov    0x8(%ebp),%edx
4018d9:	2b d1                	sub    %ecx,%edx
4018db:	8d 04 37             	lea    (%edi,%esi,1),%eax
4018de:	85 c0                	test   %eax,%eax
4018e0:	74 0f                	je     0x4018f1
4018e2:	8a 04 0a             	mov    (%edx,%ecx,1),%al
4018e5:	84 c0                	test   %al,%al
4018e7:	74 08                	je     0x4018f1
4018e9:	88 01                	mov    %al,(%ecx)
4018eb:	41                   	inc    %ecx
4018ec:	83 ee 01             	sub    $0x1,%esi
4018ef:	75 ea                	jne    0x4018db
4018f1:	5f                   	pop    %edi
4018f2:	85 f6                	test   %esi,%esi
4018f4:	75 01                	jne    0x4018f7
4018f6:	49                   	dec    %ecx
4018f7:	f7 de                	neg    %esi
4018f9:	1b f6                	sbb    %esi,%esi
4018fb:	81 e6 86 ff f8 7f    	and    $0x7ff8ff86,%esi
401901:	81 c6 7a 00 07 80    	add    $0x8007007a,%esi
401907:	eb 04                	jmp    0x40190d
401909:	85 d2                	test   %edx,%edx
40190b:	74 03                	je     0x401910
40190d:	c6 01 00             	movb   $0x0,(%ecx)
401910:	8b c6                	mov    %esi,%eax
401912:	5e                   	pop    %esi
401913:	5d                   	pop    %ebp
401914:	c2 04 00             	ret    $0x4
401917:	8b ff                	mov    %edi,%edi
401919:	55                   	push   %ebp
40191a:	8b ec                	mov    %esp,%ebp
40191c:	56                   	push   %esi
40191d:	57                   	push   %edi
40191e:	8b f9                	mov    %ecx,%edi
401920:	be 04 01 00 00       	mov    $0x104,%esi
401925:	8b ce                	mov    %esi,%ecx
401927:	8b c7                	mov    %edi,%eax
401929:	66 83 38 00          	cmpw   $0x0,(%eax)
40192d:	74 08                	je     0x401937
40192f:	83 c0 02             	add    $0x2,%eax
401932:	83 e9 01             	sub    $0x1,%ecx
401935:	75 f2                	jne    0x401929
401937:	8b c1                	mov    %ecx,%eax
401939:	f7 d8                	neg    %eax
40193b:	1b c0                	sbb    %eax,%eax
40193d:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
401942:	05 57 00 07 80       	add    $0x80070057,%eax
401947:	85 c9                	test   %ecx,%ecx
401949:	74 26                	je     0x401971
40194b:	8b d1                	mov    %ecx,%edx
40194d:	8d 81 fc fe ff ff    	lea    -0x104(%ecx),%eax
401953:	f7 da                	neg    %edx
401955:	51                   	push   %ecx
401956:	ff 75 08             	push   0x8(%ebp)
401959:	1b d2                	sbb    %edx,%edx
40195b:	23 d0                	and    %eax,%edx
40195d:	03 d6                	add    %esi,%edx
40195f:	2b f1                	sub    %ecx,%esi
401961:	51                   	push   %ecx
401962:	03 f6                	add    %esi,%esi
401964:	f7 d9                	neg    %ecx
401966:	1b c9                	sbb    %ecx,%ecx
401968:	23 ce                	and    %esi,%ecx
40196a:	03 cf                	add    %edi,%ecx
40196c:	e8 4a 00 00 00       	call   0x4019bb
401971:	5f                   	pop    %edi
401972:	5e                   	pop    %esi
401973:	5d                   	pop    %ebp
401974:	c2 04 00             	ret    $0x4
401977:	8b ff                	mov    %edi,%edi
401979:	55                   	push   %ebp
40197a:	8b ec                	mov    %esp,%ebp
40197c:	8b 45 0c             	mov    0xc(%ebp),%eax
40197f:	33 c9                	xor    %ecx,%ecx
401981:	85 c0                	test   %eax,%eax
401983:	74 07                	je     0x40198c
401985:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40198a:	76 05                	jbe    0x401991
40198c:	b9 57 00 07 80       	mov    $0x80070057,%ecx
401991:	85 c9                	test   %ecx,%ecx
401993:	78 16                	js     0x4019ab
401995:	8d 4d 14             	lea    0x14(%ebp),%ecx
401998:	8b d0                	mov    %eax,%edx
40199a:	51                   	push   %ecx
40199b:	ff 75 10             	push   0x10(%ebp)
40199e:	51                   	push   %ecx
40199f:	8b 4d 08             	mov    0x8(%ebp),%ecx
4019a2:	e8 64 00 00 00       	call   0x401a0b
4019a7:	8b c8                	mov    %eax,%ecx
4019a9:	eb 0c                	jmp    0x4019b7
4019ab:	85 c0                	test   %eax,%eax
4019ad:	74 08                	je     0x4019b7
4019af:	8b 45 08             	mov    0x8(%ebp),%eax
4019b2:	33 d2                	xor    %edx,%edx
4019b4:	66 89 10             	mov    %dx,(%eax)
4019b7:	8b c1                	mov    %ecx,%eax
4019b9:	5d                   	pop    %ebp
4019ba:	c3                   	ret
4019bb:	8b ff                	mov    %edi,%edi
4019bd:	55                   	push   %ebp
4019be:	8b ec                	mov    %esp,%ebp
4019c0:	85 d2                	test   %edx,%edx
4019c2:	74 2b                	je     0x4019ef
4019c4:	8b 45 0c             	mov    0xc(%ebp),%eax
4019c7:	56                   	push   %esi
4019c8:	57                   	push   %edi
4019c9:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
4019ce:	2b c1                	sub    %ecx,%eax
4019d0:	85 f6                	test   %esi,%esi
4019d2:	74 15                	je     0x4019e9
4019d4:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
4019d8:	66 85 ff             	test   %di,%di
4019db:	74 0c                	je     0x4019e9
4019dd:	66 89 39             	mov    %di,(%ecx)
4019e0:	83 c1 02             	add    $0x2,%ecx
4019e3:	4e                   	dec    %esi
4019e4:	83 ea 01             	sub    $0x1,%edx
4019e7:	75 e7                	jne    0x4019d0
4019e9:	5f                   	pop    %edi
4019ea:	5e                   	pop    %esi
4019eb:	85 d2                	test   %edx,%edx
4019ed:	75 03                	jne    0x4019f2
4019ef:	83 e9 02             	sub    $0x2,%ecx
4019f2:	f7 da                	neg    %edx
4019f4:	1b d2                	sbb    %edx,%edx
4019f6:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
4019fc:	33 c0                	xor    %eax,%eax
4019fe:	66 89 01             	mov    %ax,(%ecx)
401a01:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
401a07:	5d                   	pop    %ebp
401a08:	c2 0c 00             	ret    $0xc
401a0b:	8b ff                	mov    %edi,%edi
401a0d:	55                   	push   %ebp
401a0e:	8b ec                	mov    %esp,%ebp
401a10:	53                   	push   %ebx
401a11:	56                   	push   %esi
401a12:	57                   	push   %edi
401a13:	ff 75 10             	push   0x10(%ebp)
401a16:	8d 72 ff             	lea    -0x1(%edx),%esi
401a19:	8b f9                	mov    %ecx,%edi
401a1b:	ff 75 0c             	push   0xc(%ebp)
401a1e:	33 db                	xor    %ebx,%ebx
401a20:	56                   	push   %esi
401a21:	57                   	push   %edi
401a22:	ff 15 6c 61 40 00    	call   *0x40616c
401a28:	83 c4 10             	add    $0x10,%esp
401a2b:	85 c0                	test   %eax,%eax
401a2d:	78 08                	js     0x401a37
401a2f:	3b c6                	cmp    %esi,%eax
401a31:	77 04                	ja     0x401a37
401a33:	75 0d                	jne    0x401a42
401a35:	eb 05                	jmp    0x401a3c
401a37:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
401a3c:	33 c0                	xor    %eax,%eax
401a3e:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
401a42:	5f                   	pop    %edi
401a43:	5e                   	pop    %esi
401a44:	8b c3                	mov    %ebx,%eax
401a46:	5b                   	pop    %ebx
401a47:	5d                   	pop    %ebp
401a48:	c2 0c 00             	ret    $0xc
401a4b:	8b ff                	mov    %edi,%edi
401a4d:	55                   	push   %ebp
401a4e:	8b ec                	mov    %esp,%ebp
401a50:	8b 45 0c             	mov    0xc(%ebp),%eax
401a53:	56                   	push   %esi
401a54:	8b 75 08             	mov    0x8(%ebp),%esi
401a57:	2b c6                	sub    %esi,%eax
401a59:	d1 f8                	sar    $1,%eax
401a5b:	74 1a                	je     0x401a77
401a5d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
401a62:	77 13                	ja     0x401a77
401a64:	8d 4d 14             	lea    0x14(%ebp),%ecx
401a67:	8b d0                	mov    %eax,%edx
401a69:	51                   	push   %ecx
401a6a:	ff 75 10             	push   0x10(%ebp)
401a6d:	51                   	push   %ecx