4037aa:	66 a3 20 b0 49 00    	mov    %ax,0x49b020
4037b0:	8b e5                	mov    %ebp,%esp
4037b2:	5d                   	pop    %ebp
4037b3:	c3                   	ret
4037b4:	53                   	push   %ebx
4037b5:	4f                   	dec    %edi
4037b6:	46                   	inc    %esi
4037b7:	54                   	push   %esp
4037b8:	57                   	push   %edi
4037b9:	41                   	inc    %ecx
4037ba:	52                   	push   %edx
4037bb:	45                   	inc    %ebp
4037bc:	5c                   	pop    %esp
4037bd:	42                   	inc    %edx
4037be:	6f                   	outsl  %ds:(%esi),(%dx)
4037bf:	72 6c                	jb     0x40382d
4037c1:	61                   	popa
4037c2:	6e                   	outsb  %ds:(%esi),(%dx)
4037c3:	64 5c                	fs pop %esp
4037c5:	44                   	inc    %esp
4037c6:	65 6c                	gs insb (%dx),%es:(%edi)
4037c8:	70 68                	jo     0x403832
4037ca:	69 5c 52 54 4c 00 46 	imul   $0x5046004c,0x54(%edx,%edx,2),%ebx
4037d1:	50
4037d2:	55                   	push   %ebp
4037d3:	4d                   	dec    %ebp
4037d4:	61                   	popa
4037d5:	73 6b                	jae    0x403842
4037d7:	56                   	push   %esi
4037d8:	61                   	popa
4037d9:	6c                   	insb   (%dx),%es:(%edi)
4037da:	75 65                	jne    0x403841
4037dc:	00 00                	add    %al,(%eax)
4037de:	00 00                	add    %al,(%eax)
4037e0:	db e3                	fninit
4037e2:	9b d9 2d 20 b0 49 00 	fldcw  0x49b020
4037e9:	c3                   	ret
4037ea:	8b c0                	mov    %eax,%eax
4037ec:	b0 04                	mov    $0x4,%al
4037ee:	e9 59 f6 ff ff       	jmp    0x402e4c
4037f3:	c3                   	ret
4037f4:	8b 00                	mov    (%eax),%eax
4037f6:	89 c2                	mov    %eax,%edx
4037f8:	8b c2                	mov    %edx,%eax
4037fa:	c3                   	ret
4037fb:	90                   	nop
4037fc:	56                   	push   %esi
4037fd:	57                   	push   %edi
4037fe:	89 d7                	mov    %edx,%edi
403800:	8b 70 d4             	mov    -0x2c(%eax),%esi
403803:	31 c9                	xor    %ecx,%ecx
403805:	8a 0e                	mov    (%esi),%cl
403807:	41                   	inc    %ecx
403808:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40380a:	5f                   	pop    %edi
40380b:	5e                   	pop    %esi
40380c:	c3                   	ret
40380d:	8d 40 00             	lea    0x0(%eax),%eax
403810:	55                   	push   %ebp
403811:	8b ec                	mov    %esp,%ebp
403813:	81 c4 fc fe ff ff    	add    $0xfffffefc,%esp
403819:	53                   	push   %ebx
40381a:	56                   	push   %esi
40381b:	33 c9                	xor    %ecx,%ecx
40381d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
403820:	8b f2                	mov    %edx,%esi
403822:	8b d8                	mov    %eax,%ebx
403824:	33 c0                	xor    %eax,%eax
403826:	55                   	push   %ebp
403827:	68 97 38 40 00       	push   $0x403897
40382c:	64 ff 30             	push   %fs:(%eax)
40382f:	64 89 20             	mov    %esp,%fs:(%eax)
403832:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
403838:	8b c3                	mov    %ebx,%eax
40383a:	e8 bd ff ff ff       	call   0x4037fc
40383f:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
403845:	8d 45 fc             	lea    -0x4(%ebp),%eax
403848:	e8 5f 11 00 00       	call   0x4049ac
40384d:	8b c6                	mov    %esi,%eax
40384f:	e8 b4 11 00 00       	call   0x404a08
403854:	50                   	push   %eax
403855:	8b c6                	mov    %esi,%eax
403857:	e8 b0 13 00 00       	call   0x404c0c
40385c:	50                   	push   %eax
40385d:	8b 45 fc             	mov    -0x4(%ebp),%eax
403860:	e8 a3 11 00 00       	call   0x404a08
403865:	50                   	push   %eax
403866:	8b 45 fc             	mov    -0x4(%ebp),%eax
403869:	e8 9e 13 00 00       	call   0x404c0c
40386e:	50                   	push   %eax
40386f:	6a 01                	push   $0x1
403871:	68 00 08 00 00       	push   $0x800
403876:	e8 19 da ff ff       	call   0x401294
40387b:	83 f8 02             	cmp    $0x2,%eax
40387e:	0f 94 c3             	sete   %bl
403881:	33 c0                	xor    %eax,%eax
403883:	5a                   	pop    %edx
403884:	59                   	pop    %ecx
403885:	59                   	pop    %ecx
403886:	64 89 10             	mov    %edx,%fs:(%eax)
403889:	68 9e 38 40 00       	push   $0x40389e
40388e:	8d 45 fc             	lea    -0x4(%ebp),%eax
403891:	e8 b2 0e 00 00       	call   0x404748
403896:	c3                   	ret
403897:	e9 14 08 00 00       	jmp    0x4040b0
40389c:	eb f0                	jmp    0x40388e
40389e:	8b c3                	mov    %ebx,%eax
4038a0:	5e                   	pop    %esi
4038a1:	5b                   	pop    %ebx
4038a2:	8b e5                	mov    %ebp,%esp
4038a4:	5d                   	pop    %ebp
4038a5:	c3                   	ret
4038a6:	8b c0                	mov    %eax,%eax
4038a8:	8b 40 dc             	mov    -0x24(%eax),%eax
4038ab:	85 c0                	test   %eax,%eax
4038ad:	74 02                	je     0x4038b1
4038af:	8b 00                	mov    (%eax),%eax
4038b1:	c3                   	ret
4038b2:	8b c0                	mov    %eax,%eax
4038b4:	53                   	push   %ebx
4038b5:	8b d8                	mov    %eax,%ebx
4038b7:	8b c3                	mov    %ebx,%eax
4038b9:	e8 26 00 00 00       	call   0x4038e4
4038be:	e8 39 f4 ff ff       	call   0x402cfc
4038c3:	8b d0                	mov    %eax,%edx
4038c5:	8b c3                	mov    %ebx,%eax
4038c7:	e8 5c 00 00 00       	call   0x403928
4038cc:	5b                   	pop    %ebx
4038cd:	c3                   	ret
4038ce:	8b c0                	mov    %eax,%eax
4038d0:	53                   	push   %ebx
4038d1:	8b d8                	mov    %eax,%ebx
4038d3:	8b c3                	mov    %ebx,%eax
4038d5:	e8 a6 00 00 00       	call   0x403980
4038da:	8b c3                	mov    %ebx,%eax
4038dc:	e8 37 f4 ff ff       	call   0x402d18
4038e1:	5b                   	pop    %ebx
4038e2:	c3                   	ret
4038e3:	90                   	nop
4038e4:	83 c0 d8             	add    $0xffffffd8,%eax
4038e7:	8b 00                	mov    (%eax),%eax
4038e9:	c3                   	ret
4038ea:	8b c0                	mov    %eax,%eax
4038ec:	84 d2                	test   %dl,%dl
4038ee:	74 08                	je     0x4038f8
4038f0:	83 c4 f0             	add    $0xfffffff0,%esp
4038f3:	e8 48 03 00 00       	call   0x403c40
4038f8:	84 d2                	test   %dl,%dl
4038fa:	74 0f                	je     0x40390b
4038fc:	e8 97 03 00 00       	call   0x403c98
403901:	64 8f 05 00 00 00 00 	pop    %fs:0x0
403908:	83 c4 0c             	add    $0xc,%esp
40390b:	c3                   	ret
40390c:	e8 d7 03 00 00       	call   0x403ce8
403911:	84 d2                	test   %dl,%dl
403913:	7e 05                	jle    0x40391a
403915:	e8 76 03 00 00       	call   0x403c90
40391a:	c3                   	ret
40391b:	90                   	nop
40391c:	85 c0                	test   %eax,%eax
40391e:	74 07                	je     0x403927
403920:	b2 01                	mov    $0x1,%dl
403922:	8b 08                	mov    (%eax),%ecx
403924:	ff 51 fc             	call   *-0x4(%ecx)
403927:	c3                   	ret
403928:	53                   	push   %ebx
403929:	56                   	push   %esi
40392a:	57                   	push   %edi
40392b:	89 c3                	mov    %eax,%ebx
40392d:	89 d7                	mov    %edx,%edi
40392f:	ab                   	stos   %eax,%es:(%edi)
403930:	8b 4b d8             	mov    -0x28(%ebx),%ecx
403933:	31 c0                	xor    %eax,%eax
403935:	51                   	push   %ecx
403936:	c1 e9 02             	shr    $0x2,%ecx
403939:	49                   	dec    %ecx
40393a:	f3 ab                	rep stos %eax,%es:(%edi)
40393c:	59                   	pop    %ecx
40393d:	83 e1 03             	and    $0x3,%ecx
403940:	f3 aa                	rep stos %al,%es:(%edi)
403942:	89 d0                	mov    %edx,%eax
403944:	89 e2                	mov    %esp,%edx
403946:	8b 4b b8             	mov    -0x48(%ebx),%ecx
403949:	85 c9                	test   %ecx,%ecx
40394b:	74 01                	je     0x40394e
40394d:	51                   	push   %ecx
40394e:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403951:	85 db                	test   %ebx,%ebx
403953:	74 04                	je     0x403959
403955:	8b 1b                	mov    (%ebx),%ebx
403957:	eb ed                	jmp    0x403946
403959:	39 d4                	cmp    %edx,%esp
40395b:	74 1d                	je     0x40397a
40395d:	5b                   	pop    %ebx
40395e:	8b 0b                	mov    (%ebx),%ecx
403960:	83 c3 04             	add    $0x4,%ebx
403963:	8b 73 10             	mov    0x10(%ebx),%esi
403966:	85 f6                	test   %esi,%esi
403968:	74 06                	je     0x403970
40396a:	8b 7b 14             	mov    0x14(%ebx),%edi
40396d:	89 34 07             	mov    %esi,(%edi,%eax,1)
403970:	83 c3 1c             	add    $0x1c,%ebx
403973:	49                   	dec    %ecx
403974:	75 ed                	jne    0x403963
403976:	39 d4                	cmp    %edx,%esp
403978:	75 e3                	jne    0x40395d
40397a:	5f                   	pop    %edi
40397b:	5e                   	pop    %esi
40397c:	5b                   	pop    %ebx
40397d:	c3                   	ret
40397e:	8b c0                	mov    %eax,%eax
403980:	53                   	push   %ebx
403981:	56                   	push   %esi
403982:	89 c3                	mov    %eax,%ebx
403984:	89 c6                	mov    %eax,%esi
403986:	8b 36                	mov    (%esi),%esi
403988:	8b 56 c0             	mov    -0x40(%esi),%edx
40398b:	8b 76 dc             	mov    -0x24(%esi),%esi
40398e:	85 d2                	test   %edx,%edx
403990:	74 07                	je     0x403999
403992:	e8 1d 19 00 00       	call   0x4052b4
403997:	89 d8                	mov    %ebx,%eax
403999:	85 f6                	test   %esi,%esi
40399b:	75 e9                	jne    0x403986
40399d:	5e                   	pop    %esi
40399e:	5b                   	pop    %ebx
40399f:	c3                   	ret
4039a0:	87 d1                	xchg   %edx,%ecx
4039a2:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
4039a8:	73 11                	jae    0x4039bb
4039aa:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
4039b0:	72 07                	jb     0x4039b9
4039b2:	0f bf c9             	movswl %cx,%ecx
4039b5:	03 08                	add    (%eax),%ecx
4039b7:	ff 21                	jmp    *(%ecx)
4039b9:	ff e1                	jmp    *%ecx
4039bb:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
4039c1:	01 c1                	add    %eax,%ecx
4039c3:	89 d0                	mov    %edx,%eax
4039c5:	8b 11                	mov    (%ecx),%edx
4039c7:	e9 c4 27 00 00       	jmp    0x406190
4039cc:	c3                   	ret
4039cd:	8d 40 00             	lea    0x0(%eax),%eax
4039d0:	55                   	push   %ebp
4039d1:	8b ec                	mov    %esp,%ebp
4039d3:	83 c4 f8             	add    $0xfffffff8,%esp
4039d6:	53                   	push   %ebx
4039d7:	56                   	push   %esi
4039d8:	57                   	push   %edi
4039d9:	33 db                	xor    %ebx,%ebx
4039db:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4039de:	8b f1                	mov    %ecx,%esi
4039e0:	89 55 fc             	mov    %edx,-0x4(%ebp)
4039e3:	8b f8                	mov    %eax,%edi
4039e5:	33 c0                	xor    %eax,%eax
4039e7:	55                   	push   %ebp
4039e8:	68 54 3a 40 00       	push   $0x403a54
4039ed:	64 ff 30             	push   %fs:(%eax)
4039f0:	64 89 20             	mov    %esp,%fs:(%eax)
4039f3:	33 c0                	xor    %eax,%eax
4039f5:	89 06                	mov    %eax,(%esi)
4039f7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4039fa:	8b 07                	mov    (%edi),%eax
4039fc:	e8 63 00 00 00       	call   0x403a64
403a01:	8b d8                	mov    %eax,%ebx
403a03:	85 db                	test   %ebx,%ebx
403a05:	74 31                	je     0x403a38
403a07:	8b 43 14             	mov    0x14(%ebx),%eax
403a0a:	85 c0                	test   %eax,%eax
403a0c:	74 13                	je     0x403a21
403a0e:	03 f8                	add    %eax,%edi
403a10:	89 3e                	mov    %edi,(%esi)
403a12:	83 3e 00             	cmpl   $0x0,(%esi)
403a15:	74 21                	je     0x403a38
403a17:	8b 06                	mov    (%esi),%eax
403a19:	50                   	push   %eax
403a1a:	8b 00                	mov    (%eax),%eax
403a1c:	ff 50 04             	call   *0x4(%eax)
403a1f:	eb 17                	jmp    0x403a38
403a21:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403a24:	8b 53 18             	mov    0x18(%ebx),%edx
403a27:	8b c7                	mov    %edi,%eax
403a29:	e8 72 ff ff ff       	call   0x4039a0
403a2e:	8b 55 f8             	mov    -0x8(%ebp),%edx
403a31:	8b c6                	mov    %esi,%eax
403a33:	e8 58 27 00 00       	call   0x406190
403a38:	83 3e 00             	cmpl   $0x0,(%esi)
403a3b:	0f 95 c3             	setne  %bl
403a3e:	33 c0                	xor    %eax,%eax
403a40:	5a                   	pop    %edx
403a41:	59                   	pop    %ecx
403a42:	59                   	pop    %ecx
403a43:	64 89 10             	mov    %edx,%fs:(%eax)
403a46:	68 5b 3a 40 00       	push   $0x403a5b
403a4b:	8d 45 f8             	lea    -0x8(%ebp),%eax
403a4e:	e8 25 27 00 00       	call   0x406178
403a53:	c3                   	ret
403a54:	e9 57 06 00 00       	jmp    0x4040b0
403a59:	eb f0                	jmp    0x403a4b
403a5b:	8b c3                	mov    %ebx,%eax
403a5d:	5f                   	pop    %edi
403a5e:	5e                   	pop    %esi
403a5f:	5b                   	pop    %ebx
403a60:	59                   	pop    %ecx
403a61:	59                   	pop    %ecx
403a62:	5d                   	pop    %ebp
403a63:	c3                   	ret
403a64:	53                   	push   %ebx
403a65:	56                   	push   %esi
403a66:	89 c3                	mov    %eax,%ebx
403a68:	8b 43 b8             	mov    -0x48(%ebx),%eax
403a6b:	85 c0                	test   %eax,%eax
403a6d:	74 29                	je     0x403a98
403a6f:	8b 08                	mov    (%eax),%ecx
403a71:	83 c0 04             	add    $0x4,%eax
403a74:	8b 32                	mov    (%edx),%esi
403a76:	3b 30                	cmp    (%eax),%esi
403a78:	75 18                	jne    0x403a92
403a7a:	8b 72 04             	mov    0x4(%edx),%esi
403a7d:	3b 70 04             	cmp    0x4(%eax),%esi
403a80:	75 10                	jne    0x403a92
403a82:	8b 72 08             	mov    0x8(%edx),%esi
403a85:	3b 70 08             	cmp    0x8(%eax),%esi
403a88:	75 08                	jne    0x403a92
403a8a:	8b 72 0c             	mov    0xc(%edx),%esi
403a8d:	3b 70 0c             	cmp    0xc(%eax),%esi
403a90:	74 13                	je     0x403aa5
403a92:	83 c0 1c             	add    $0x1c,%eax
403a95:	49                   	dec    %ecx
403a96:	75 dc                	jne    0x403a74
403a98:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403a9b:	85 db                	test   %ebx,%ebx
403a9d:	74 04                	je     0x403aa3
403a9f:	8b 1b                	mov    (%ebx),%ebx
403aa1:	eb c5                	jmp    0x403a68
403aa3:	31 c0                	xor    %eax,%eax
403aa5:	5e                   	pop    %esi
403aa6:	5b                   	pop    %ebx
403aa7:	c3                   	ret
403aa8:	53                   	push   %ebx
403aa9:	56                   	push   %esi
403aaa:	8b f2                	mov    %edx,%esi
403aac:	8b d8                	mov    %eax,%ebx
403aae:	85 db                	test   %ebx,%ebx
403ab0:	74 0d                	je     0x403abf
403ab2:	8b d6                	mov    %esi,%edx
403ab4:	8b 03                	mov    (%ebx),%eax
403ab6:	e8 8d 00 00 00       	call   0x403b48
403abb:	84 c0                	test   %al,%al
403abd:	75 05                	jne    0x403ac4