41a762:	65 73 00             	gs jae 0x41a765
41a765:	00 8b c0 6c a7 41    	add    %cl,0x41a76cc0(%ebx)
41a76b:	00 0e                	add    %cl,(%esi)
41a76d:	0e                   	push   %cs
41a76e:	54                   	push   %esp
41a76f:	49                   	dec    %ecx
41a770:	64 65 6e             	fs outsb %gs:(%esi),(%dx)
41a773:	74 4d                	je     0x41a7c2
41a775:	61                   	popa
41a776:	70 45                	jo     0x41a7bd
41a778:	6e                   	outsb  %ds:(%esi),(%dx)
41a779:	74 72                	je     0x41a7ed
41a77b:	79 08                	jns    0x41a785
41a77d:	00 00                	add    %al,(%eax)
41a77f:	00 01                	add    %al,(%ecx)
41a781:	00 00                	add    %al,(%eax)
41a783:	00 e8                	add    %ch,%al
41a785:	10 40 00             	adc    %al,0x0(%eax)
41a788:	04 00                	add    $0x0,%al
41a78a:	00 00                	add    %al,(%eax)
41a78c:	53                   	push   %ebx
41a78d:	56                   	push   %esi
41a78e:	57                   	push   %edi
41a78f:	8b f9                	mov    %ecx,%edi
41a791:	8b f2                	mov    %edx,%esi
41a793:	8b d8                	mov    %eax,%ebx
41a795:	8b cf                	mov    %edi,%ecx
41a797:	8b d6                	mov    %esi,%edx
41a799:	8b c3                	mov    %ebx,%eax
41a79b:	e8 e8 bd fe ff       	call   0x406588
41a7a0:	5f                   	pop    %edi
41a7a1:	5e                   	pop    %esi
41a7a2:	5b                   	pop    %ebx
41a7a3:	c3                   	ret
41a7a4:	51                   	push   %ecx
41a7a5:	66 89 04 24          	mov    %ax,(%esp)
41a7a9:	66 89 54 24 02       	mov    %dx,0x2(%esp)
41a7ae:	8b 04 24             	mov    (%esp),%eax
41a7b1:	5a                   	pop    %edx
41a7b2:	c3                   	ret
41a7b3:	90                   	nop
41a7b4:	55                   	push   %ebp
41a7b5:	8b ec                	mov    %esp,%ebp
41a7b7:	53                   	push   %ebx
41a7b8:	56                   	push   %esi
41a7b9:	57                   	push   %edi
41a7ba:	8b f9                	mov    %ecx,%edi
41a7bc:	8b f2                	mov    %edx,%esi
41a7be:	8b d8                	mov    %eax,%ebx
41a7c0:	8b 45 0c             	mov    0xc(%ebp),%eax
41a7c3:	50                   	push   %eax
41a7c4:	8b 45 08             	mov    0x8(%ebp),%eax
41a7c7:	50                   	push   %eax
41a7c8:	8b cf                	mov    %edi,%ecx
41a7ca:	8b d6                	mov    %esi,%edx
41a7cc:	8b c3                	mov    %ebx,%eax
41a7ce:	e8 99 bd fe ff       	call   0x40656c
41a7d3:	5f                   	pop    %edi
41a7d4:	5e                   	pop    %esi
41a7d5:	5b                   	pop    %ebx
41a7d6:	5d                   	pop    %ebp
41a7d7:	c2 08 00             	ret    $0x8
41a7da:	8b c0                	mov    %eax,%eax
41a7dc:	55                   	push   %ebp
41a7dd:	8b ec                	mov    %esp,%ebp
41a7df:	53                   	push   %ebx
41a7e0:	56                   	push   %esi
41a7e1:	57                   	push   %edi
41a7e2:	8b f9                	mov    %ecx,%edi
41a7e4:	8b f2                	mov    %edx,%esi
41a7e6:	8b d8                	mov    %eax,%ebx
41a7e8:	8b 45 0c             	mov    0xc(%ebp),%eax
41a7eb:	50                   	push   %eax
41a7ec:	8b 45 08             	mov    0x8(%ebp),%eax
41a7ef:	50                   	push   %eax
41a7f0:	8b cf                	mov    %edi,%ecx
41a7f2:	8b d6                	mov    %esi,%edx
41a7f4:	8b c3                	mov    %ebx,%eax
41a7f6:	e8 95 bd fe ff       	call   0x406590
41a7fb:	5f                   	pop    %edi
41a7fc:	5e                   	pop    %esi
41a7fd:	5b                   	pop    %ebx
41a7fe:	5d                   	pop    %ebp
41a7ff:	c2 08 00             	ret    $0x8
41a802:	8b c0                	mov    %eax,%eax
41a804:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41a807:	75 06                	jne    0x41a80f
41a809:	83 78 04 ff          	cmpl   $0xffffffff,0x4(%eax)
41a80d:	74 03                	je     0x41a812
41a80f:	33 c0                	xor    %eax,%eax
41a811:	c3                   	ret
41a812:	b0 01                	mov    $0x1,%al
41a814:	c3                   	ret
41a815:	8d 40 00             	lea    0x0(%eax),%eax
41a818:	64 a8 41             	fs test $0x41,%al
41a837:	00 64 a8 41          	add    %ah,0x41(%eax,%ebp,4)
41a83b:	00 14 00             	add    %dl,(%eax,%eax,1)
41a83e:	00 00                	add    %al,(%eax)
41a840:	24 11                	and    $0x11,%al
41a842:	40                   	inc    %eax
41a843:	00 1c 36             	add    %bl,(%esi,%esi,1)
41a846:	40                   	inc    %eax
41a847:	00 28                	add    %ch,(%eax)
41a849:	36 40                	ss inc %eax
41a84b:	00 2c 36             	add    %ch,(%esi,%esi,1)
41a84e:	40                   	inc    %eax
41a84f:	00 30                	add    %dh,(%eax)
41a851:	36 40                	ss inc %eax
41a853:	00 24 36             	add    %ah,(%esi,%esi,1)
41a856:	40                   	inc    %eax
41a857:	00 84 33 40 00 a0 33 	add    %al,0x33a00040(%ebx,%esi,1)
41a85e:	40                   	inc    %eax
41a85f:	00 20                	add    %ah,(%eax)
41a861:	aa                   	stos   %al,%es:(%edi)
41a862:	41                   	inc    %ecx
41a863:	00 09                	add    %cl,(%ecx)
41a865:	54                   	push   %esp
41a866:	52                   	push   %edx
41a867:	65 67 47             	gs addr16 inc %edi
41a86a:	72 6f                	jb     0x41a8db
41a86c:	75 70                	jne    0x41a8de
41a86e:	8b c0                	mov    %eax,%eax
41a870:	bc a8 41 00 00       	mov    $0x41a8,%esp
41a88d:	00 00                	add    %al,(%eax)
41a88f:	00 bc a8 41 00 24 00 	add    %bh,0x240041(%eax,%ebp,4)
41a896:	00 00                	add    %al,(%eax)
41a898:	24 11                	and    $0x11,%al
41a89a:	40                   	inc    %eax
41a89b:	00 1c 36             	add    %bl,(%esi,%esi,1)
41a89e:	40                   	inc    %eax
41a89f:	00 28                	add    %ch,(%eax)
41a8a1:	36 40                	ss inc %eax
41a8a3:	00 2c 36             	add    %ch,(%esi,%esi,1)
41a8a6:	40                   	inc    %eax
41a8a7:	00 30                	add    %dh,(%eax)
41a8a9:	36 40                	ss inc %eax
41a8ab:	00 24 36             	add    %ah,(%esi,%esi,1)
41a8ae:	40                   	inc    %eax
41a8af:	00 84 33 40 00 a0 33 	add    %al,0x33a00040(%ebx,%esi,1)
41a8b6:	40                   	inc    %eax
41a8b7:	00 48 ad             	add    %cl,-0x53(%eax)
41a8ba:	41                   	inc    %ecx
41a8bb:	00 0a                	add    %cl,(%edx)
41a8bd:	54                   	push   %esp
41a8be:	52                   	push   %edx
41a8bf:	65 67 47             	gs addr16 inc %edi
41a8c2:	72 6f                	jb     0x41a933
41a8c4:	75 70                	jne    0x41a936
41a8c6:	73 90                	jae    0x41a858
41a8c8:	8b 40 0c             	mov    0xc(%eax),%eax
41a8cb:	e8 c4 13 00 00       	call   0x41bc94
41a8d0:	c3                   	ret
41a8d1:	8d 40 00             	lea    0x0(%eax),%eax
41a8d4:	53                   	push   %ebx
41a8d5:	56                   	push   %esi
41a8d6:	57                   	push   %edi
41a8d7:	55                   	push   %ebp
41a8d8:	83 c4 f8             	add    $0xfffffff8,%esp
41a8db:	89 54 24 04          	mov    %edx,0x4(%esp)
41a8df:	89 04 24             	mov    %eax,(%esp)
41a8e2:	33 ed                	xor    %ebp,%ebp
41a8e4:	8b 04 24             	mov    (%esp),%eax
41a8e7:	8b 40 0c             	mov    0xc(%eax),%eax
41a8ea:	8b 70 08             	mov    0x8(%eax),%esi
41a8ed:	4e                   	dec    %esi
41a8ee:	85 f6                	test   %esi,%esi
41a8f0:	7c 38                	jl     0x41a92a
41a8f2:	46                   	inc    %esi
41a8f3:	33 ff                	xor    %edi,%edi
41a8f5:	8b 04 24             	mov    (%esp),%eax
41a8f8:	8b 40 0c             	mov    0xc(%eax),%eax
41a8fb:	8b d7                	mov    %edi,%edx
41a8fd:	e8 ee 14 00 00       	call   0x41bdf0
41a902:	8b d8                	mov    %eax,%ebx
41a904:	8b d3                	mov    %ebx,%edx
41a906:	8b 44 24 04          	mov    0x4(%esp),%eax
41a90a:	e8 f1 8c fe ff       	call   0x403600
41a90f:	84 c0                	test   %al,%al
41a911:	74 13                	je     0x41a926
41a913:	85 ed                	test   %ebp,%ebp
41a915:	74 0d                	je     0x41a924
41a917:	8b d5                	mov    %ebp,%edx
41a919:	8b c3                	mov    %ebx,%eax
41a91b:	e8 e0 8c fe ff       	call   0x403600
41a920:	84 c0                	test   %al,%al
41a922:	74 02                	je     0x41a926
41a924:	8b eb                	mov    %ebx,%ebp
41a926:	47                   	inc    %edi
41a927:	4e                   	dec    %esi
41a928:	75 cb                	jne    0x41a8f5
41a92a:	8b c5                	mov    %ebp,%eax
41a92c:	59                   	pop    %ecx
41a92d:	5a                   	pop    %edx
41a92e:	5d                   	pop    %ebp
41a92f:	5f                   	pop    %edi
41a930:	5e                   	pop    %esi
41a931:	5b                   	pop    %ebx
41a932:	c3                   	ret
41a933:	90                   	nop
41a934:	55                   	push   %ebp
41a935:	8b ec                	mov    %esp,%ebp
41a937:	51                   	push   %ecx
41a938:	53                   	push   %ebx
41a939:	56                   	push   %esi
41a93a:	57                   	push   %edi
41a93b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a93e:	8b fa                	mov    %edx,%edi
41a940:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a943:	85 ff                	test   %edi,%edi
41a945:	74 0d                	je     0x41a954
41a947:	8b d3                	mov    %ebx,%edx
41a949:	8b c7                	mov    %edi,%eax
41a94b:	e8 84 ff ff ff       	call   0x41a8d4
41a950:	8b f0                	mov    %eax,%esi
41a952:	eb 02                	jmp    0x41a956
41a954:	33 f6                	xor    %esi,%esi
41a956:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a95a:	74 0e                	je     0x41a96a
41a95c:	8b d3                	mov    %ebx,%edx
41a95e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a961:	e8 6e ff ff ff       	call   0x41a8d4
41a966:	8b d8                	mov    %eax,%ebx
41a968:	eb 02                	jmp    0x41a96c
41a96a:	33 db                	xor    %ebx,%ebx
41a96c:	85 f6                	test   %esi,%esi
41a96e:	75 0d                	jne    0x41a97d
41a970:	85 db                	test   %ebx,%ebx
41a972:	75 04                	jne    0x41a978
41a974:	33 c0                	xor    %eax,%eax
41a976:	eb 21                	jmp    0x41a999
41a978:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a97b:	eb 1c                	jmp    0x41a999
41a97d:	85 db                	test   %ebx,%ebx
41a97f:	75 04                	jne    0x41a985
41a981:	8b c7                	mov    %edi,%eax
41a983:	eb 14                	jmp    0x41a999
41a985:	8b d3                	mov    %ebx,%edx
41a987:	8b c6                	mov    %esi,%eax
41a989:	e8 72 8c fe ff       	call   0x403600
41a98e:	84 c0                	test   %al,%al
41a990:	74 04                	je     0x41a996
41a992:	8b c7                	mov    %edi,%eax
41a994:	eb 03                	jmp    0x41a999
41a996:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a999:	5f                   	pop    %edi
41a99a:	5e                   	pop    %esi
41a99b:	5b                   	pop    %ebx
41a99c:	59                   	pop    %ecx
41a99d:	5d                   	pop    %ebp
41a99e:	c2 04 00             	ret    $0x4
41a9a1:	8d 40 00             	lea    0x0(%eax),%eax
41a9a4:	55                   	push   %ebp
41a9a5:	8b ec                	mov    %esp,%ebp
41a9a7:	51                   	push   %ecx
41a9a8:	53                   	push   %ebx
41a9a9:	56                   	push   %esi
41a9aa:	57                   	push   %edi
41a9ab:	84 d2                	test   %dl,%dl
41a9ad:	74 08                	je     0x41a9b7
41a9af:	83 c4 f0             	add    $0xfffffff0,%esp
41a9b2:	e8 81 8d fe ff       	call   0x403738
41a9b7:	8b f9                	mov    %ecx,%edi
41a9b9:	88 55 ff             	mov    %dl,-0x1(%ebp)
41a9bc:	8b d8                	mov    %eax,%ebx
41a9be:	33 d2                	xor    %edx,%edx
41a9c0:	8b c3                	mov    %ebx,%eax
41a9c2:	e8 f5 89 fe ff       	call   0x4033bc
41a9c7:	b2 01                	mov    $0x1,%dl
41a9c9:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41a9ce:	e8 e9 89 fe ff       	call   0x4033bc
41a9d3:	89 43 04             	mov    %eax,0x4(%ebx)
41a9d6:	b2 01                	mov    $0x1,%dl
41a9d8:	a1 20 9c 41 00       	mov    0x419c20,%eax
41a9dd:	e8 da 89 fe ff       	call   0x4033bc
41a9e2:	89 43 08             	mov    %eax,0x8(%ebx)
41a9e5:	b2 01                	mov    $0x1,%dl
41a9e7:	a1 bc 95 41 00       	mov    0x4195bc,%eax
41a9ec:	e8 cb 89 fe ff       	call   0x4033bc
41a9f1:	8b f0                	mov    %eax,%esi
41a9f3:	89 73 0c             	mov    %esi,0xc(%ebx)
41a9f6:	8b c6                	mov    %esi,%eax
41a9f8:	8b d7                	mov    %edi,%edx
41a9fa:	e8 95 12 00 00       	call   0x41bc94
41a9ff:	8b c3                	mov    %ebx,%eax
41aa01:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41aa05:	74 0f                	je     0x41aa16
41aa07:	e8 84 8d fe ff       	call   0x403790
41aa0c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41aa13:	83 c4 0c             	add    $0xc,%esp
41aa16:	8b c3                	mov    %ebx,%eax
41aa18:	5f                   	pop    %edi
41aa19:	5e                   	pop    %esi
41aa1a:	5b                   	pop    %ebx
41aa1b:	59                   	pop    %ecx
41aa1c:	5d                   	pop    %ebp
41aa1d:	c3                   	ret
41aa1e:	8b c0                	mov    %eax,%eax
41aa20:	53                   	push   %ebx
41aa21:	56                   	push   %esi
41aa22:	e8 79 8d fe ff       	call   0x4037a0
41aa27:	8b da                	mov    %edx,%ebx
41aa29:	8b f0                	mov    %eax,%esi
41aa2b:	8b d3                	mov    %ebx,%edx
41aa2d:	80 e2 fc             	and    $0xfc,%dl
41aa30:	8b c6                	mov    %esi,%eax
41aa32:	e8 a5 89 fe ff       	call   0x4033dc
41aa37:	8b 46 04             	mov    0x4(%esi),%eax
41aa3a:	e8 ad 89 fe ff       	call   0x4033ec
41aa3f:	8b 46 08             	mov    0x8(%esi),%eax
41aa42:	e8 a5 89 fe ff       	call   0x4033ec
41aa47:	8b 46 0c             	mov    0xc(%esi),%eax
41aa4a:	e8 9d 89 fe ff       	call   0x4033ec
41aa4f:	84 db                	test   %bl,%bl
41aa51:	7e 07                	jle    0x41aa5a
41aa53:	8b c6                	mov    %esi,%eax
41aa55:	e8 2e 8d fe ff       	call   0x403788
41aa5a:	5e                   	pop    %esi
41aa5b:	5b                   	pop    %ebx
41aa5c:	c3                   	ret
41aa5d:	8d 40 00             	lea    0x0(%eax),%eax
41aa60:	53                   	push   %ebx
41aa61:	56                   	push   %esi
41aa62:	57                   	push   %edi
41aa63:	55                   	push   %ebp
41aa64:	51                   	push   %ecx
41aa65:	89 14 24             	mov    %edx,(%esp)
41aa68:	8b e8                	mov    %eax,%ebp
41aa6a:	8b 45 04             	mov    0x4(%ebp),%eax
41aa6d:	8b 70 08             	mov    0x8(%eax),%esi
41aa70:	4e                   	dec    %esi
41aa71:	85 f6                	test   %esi,%esi
41aa73:	7c 21                	jl     0x41aa96
41aa75:	46                   	inc    %esi
41aa76:	33 db                	xor    %ebx,%ebx
41aa78:	8b 45 04             	mov    0x4(%ebp),%eax
41aa7b:	8b d3                	mov    %ebx,%edx
41aa7d:	e8 6e 13 00 00       	call   0x41bdf0
41aa82:	8b f8                	mov    %eax,%edi
41aa84:	8b 14 24             	mov    (%esp),%edx
41aa87:	8b c7                	mov    %edi,%eax
41aa89:	e8 c2 88 fe ff       	call   0x403350
41aa8e:	84 c0                	test   %al,%al
41aa90:	75 25                	jne    0x41aab7
41aa92:	43                   	inc    %ebx
41aa93:	4e                   	dec    %esi
41aa94:	75 e2                	jne    0x41aa78
41aa96:	8b 45 08             	mov    0x8(%ebp),%eax
41aa99:	8b 14 24             	mov    (%esp),%edx
41aa9c:	8b 08                	mov    (%eax),%ecx
41aa9e:	ff 51 54             	call   *0x54(%ecx)