40b86e:	8b f1                	mov    %ecx,%esi
40b870:	8b da                	mov    %edx,%ebx
40b872:	8b f8                	mov    %eax,%edi
40b874:	33 c0                	xor    %eax,%eax
40b876:	55                   	push   %ebp
40b877:	68 c4 b8 40 00       	push   $0x40b8c4
40b87c:	64 ff 30             	push   %fs:(%eax)
40b87f:	64 89 20             	mov    %esp,%fs:(%eax)
40b882:	8d 45 fc             	lea    -0x4(%ebp),%eax
40b885:	50                   	push   %eax
40b886:	8d 55 f8             	lea    -0x8(%ebp),%edx
40b889:	8b c6                	mov    %esi,%eax
40b88b:	e8 90 a2 ff ff       	call   0x405b20
40b890:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b893:	8b 55 0c             	mov    0xc(%ebp),%edx
40b896:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b899:	e8 66 d4 ff ff       	call   0x408d04
40b89e:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b8a1:	8d 47 04             	lea    0x4(%edi),%eax
40b8a4:	e8 67 87 ff ff       	call   0x404010
40b8a9:	33 c0                	xor    %eax,%eax
40b8ab:	5a                   	pop    %edx
40b8ac:	59                   	pop    %ecx
40b8ad:	59                   	pop    %ecx
40b8ae:	64 89 10             	mov    %edx,%fs:(%eax)
40b8b1:	68 cb b8 40 00       	push   $0x40b8cb
40b8b6:	8d 45 f8             	lea    -0x8(%ebp),%eax
40b8b9:	ba 02 00 00 00       	mov    $0x2,%edx
40b8be:	e8 1d 87 ff ff       	call   0x403fe0
40b8c3:	c3                   	ret
40b8c4:	e9 f7 80 ff ff       	jmp    0x4039c0
40b8c9:	eb eb                	jmp    0x40b8b6
40b8cb:	8b c7                	mov    %edi,%eax
40b8cd:	84 db                	test   %bl,%bl
40b8cf:	74 0f                	je     0x40b8e0
40b8d1:	e8 12 7d ff ff       	call   0x4035e8
40b8d6:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40b8dd:	83 c4 0c             	add    $0xc,%esp
40b8e0:	8b c7                	mov    %edi,%eax
40b8e2:	5f                   	pop    %edi
40b8e3:	5e                   	pop    %esi
40b8e4:	5b                   	pop    %ebx
40b8e5:	59                   	pop    %ecx
40b8e6:	59                   	pop    %ecx
40b8e7:	5d                   	pop    %ebp
40b8e8:	c2 08 00             	ret    $0x8
40b8eb:	90                   	nop
40b8ec:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
40b8f0:	74 05                	je     0x40b8f7
40b8f2:	e8 29 79 ff ff       	call   0x403220
40b8f7:	c3                   	ret
40b8f8:	fc                   	cld
40b8f9:	b8 40 00 0e 09       	mov    $0x90e0040,%eax
40b8fe:	54                   	push   %esp
40b8ff:	45                   	inc    %ebp
40b900:	72 72                	jb     0x40b974
40b902:	6f                   	outsl  %ds:(%esi),(%dx)
40b903:	72 52                	jb     0x40b957
40b905:	65 63 08             	arpl   %ecx,%gs:(%eax)
40b908:	00 00                	add    %al,(%eax)
40b90a:	00 01                	add    %al,(%ecx)
40b90c:	00 00                	add    %al,(%eax)
40b90e:	00 94 10 40 00 04 00 	add    %dl,0x40040(%eax,%edx,1)
40b915:	00 00                	add    %al,(%eax)
40b917:	90                   	nop
40b918:	53                   	push   %ebx
40b919:	56                   	push   %esi
40b91a:	83 c4 f8             	add    $0xfffffff8,%esp
40b91d:	33 db                	xor    %ebx,%ebx
40b91f:	e8 74 6f ff ff       	call   0x402898
40b924:	8b f0                	mov    %eax,%esi
40b926:	eb 01                	jmp    0x40b929
40b928:	43                   	inc    %ebx
40b929:	83 fb 06             	cmp    $0x6,%ebx
40b92c:	7f 09                	jg     0x40b937
40b92e:	3b 34 dd 20 d2 45 00 	cmp    0x45d220(,%ebx,8),%esi
40b935:	75 f1                	jne    0x40b928
40b937:	83 fb 06             	cmp    $0x6,%ebx
40b93a:	7f 15                	jg     0x40b951
40b93c:	8b 0c dd 24 d2 45 00 	mov    0x45d224(,%ebx,8),%ecx
40b943:	b2 01                	mov    $0x1,%dl
40b945:	a1 28 70 40 00       	mov    0x407028,%eax
40b94a:	e8 11 fe ff ff       	call   0x40b760
40b94f:	eb 1d                	jmp    0x40b96e
40b951:	89 34 24             	mov    %esi,(%esp)
40b954:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
40b959:	54                   	push   %esp
40b95a:	6a 00                	push   $0x0
40b95c:	8b 0d 2c 7d 46 00    	mov    0x467d2c,%ecx
40b962:	b2 01                	mov    $0x1,%dl
40b964:	a1 28 70 40 00       	mov    0x407028,%eax
40b969:	e8 ea fe ff ff       	call   0x40b858
40b96e:	89 70 0c             	mov    %esi,0xc(%eax)
40b971:	59                   	pop    %ecx
40b972:	5a                   	pop    %edx
40b973:	5e                   	pop    %esi
40b974:	5b                   	pop    %ebx
40b975:	c3                   	ret
40b976:	8b c0                	mov    %eax,%eax
40b978:	7c b9                	jl     0x40b933
40b97a:	40                   	inc    %eax
40b97b:	00 0e                	add    %cl,(%esi)
40b97d:	0a 54 45 78          	or     0x78(%ebp,%eax,2),%dl
40b981:	63 65 70             	arpl   %esp,0x70(%ebp)
40b984:	74 52                	je     0x40b9d8
40b986:	65 63 08             	arpl   %ecx,%gs:(%eax)
40b989:	00 00                	add    %al,(%eax)
40b98b:	00 01                	add    %al,(%ecx)
40b98d:	00 00                	add    %al,(%eax)
40b98f:	00 94 10 40 00 04 00 	add    %dl,0x40040(%eax,%edx,1)
40b996:	00 00                	add    %al,(%eax)
40b998:	53                   	push   %ebx
40b999:	8b da                	mov    %edx,%ebx
40b99b:	8b d0                	mov    %eax,%edx
40b99d:	fe ca                	dec    %dl
40b99f:	74 0c                	je     0x40b9ad
40b9a1:	fe ca                	dec    %dl
40b9a3:	74 10                	je     0x40b9b5
40b9a5:	4a                   	dec    %edx
40b9a6:	80 ea 16             	sub    $0x16,%dl
40b9a9:	72 12                	jb     0x40b9bd
40b9ab:	eb 2c                	jmp    0x40b9d9
40b9ad:	8b 15 94 97 46 00    	mov    0x469794,%edx
40b9b3:	eb 2b                	jmp    0x40b9e0
40b9b5:	8b 15 98 97 46 00    	mov    0x469798,%edx
40b9bb:	eb 23                	jmp    0x40b9e0
40b9bd:	25 ff 00 00 00       	and    $0xff,%eax
40b9c2:	8d 04 c5 40 d2 45 00 	lea    0x45d240(,%eax,8),%eax
40b9c9:	8b 48 04             	mov    0x4(%eax),%ecx
40b9cc:	8b 00                	mov    (%eax),%eax
40b9ce:	b2 01                	mov    $0x1,%dl
40b9d0:	e8 8b fd ff ff       	call   0x40b760
40b9d5:	8b d0                	mov    %eax,%edx
40b9d7:	eb 07                	jmp    0x40b9e0
40b9d9:	e8 3a ff ff ff       	call   0x40b918
40b9de:	8b d0                	mov    %eax,%edx
40b9e0:	53                   	push   %ebx
40b9e1:	8b c2                	mov    %edx,%eax
40b9e3:	e9 10 80 ff ff       	jmp    0x4039f8
40b9e8:	5b                   	pop    %ebx
40b9e9:	c3                   	ret
40b9ea:	8b c0                	mov    %eax,%eax
40b9ec:	55                   	push   %ebp
40b9ed:	8b ec                	mov    %esp,%ebp
40b9ef:	83 c4 e0             	add    $0xffffffe0,%esp
40b9f2:	53                   	push   %ebx
40b9f3:	56                   	push   %esi
40b9f4:	57                   	push   %edi
40b9f5:	33 db                	xor    %ebx,%ebx
40b9f7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40b9fa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40b9fd:	8b f9                	mov    %ecx,%edi
40b9ff:	8b f2                	mov    %edx,%esi
40ba01:	8b d8                	mov    %eax,%ebx
40ba03:	33 c0                	xor    %eax,%eax
40ba05:	55                   	push   %ebp
40ba06:	68 88 ba 40 00       	push   $0x40ba88
40ba0b:	64 ff 30             	push   %fs:(%eax)
40ba0e:	64 89 20             	mov    %esp,%fs:(%eax)
40ba11:	85 db                	test   %ebx,%ebx
40ba13:	74 0c                	je     0x40ba21
40ba15:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ba18:	8b d3                	mov    %ebx,%edx
40ba1a:	e8 35 86 ff ff       	call   0x404054
40ba1f:	eb 0d                	jmp    0x40ba2e
40ba21:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ba24:	a1 4c 7f 46 00       	mov    0x467f4c,%eax
40ba29:	e8 f2 a0 ff ff       	call   0x405b20
40ba2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ba31:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ba34:	c6 45 e8 0b          	movb   $0xb,-0x18(%ebp)
40ba38:	89 75 ec             	mov    %esi,-0x14(%ebp)
40ba3b:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
40ba3f:	89 7d f4             	mov    %edi,-0xc(%ebp)
40ba42:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40ba46:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40ba49:	50                   	push   %eax
40ba4a:	6a 02                	push   $0x2
40ba4c:	8d 55 e0             	lea    -0x20(%ebp),%edx
40ba4f:	a1 b0 7f 46 00       	mov    0x467fb0,%eax
40ba54:	e8 c7 a0 ff ff       	call   0x405b20
40ba59:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ba5c:	b2 01                	mov    $0x1,%dl
40ba5e:	a1 30 77 40 00       	mov    0x407730,%eax
40ba63:	e8 34 fd ff ff       	call   0x40b79c
40ba68:	8b d8                	mov    %eax,%ebx
40ba6a:	33 c0                	xor    %eax,%eax
40ba6c:	5a                   	pop    %edx
40ba6d:	59                   	pop    %ecx
40ba6e:	59                   	pop    %ecx
40ba6f:	64 89 10             	mov    %edx,%fs:(%eax)
40ba72:	68 8f ba 40 00       	push   $0x40ba8f
40ba77:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ba7a:	e8 3d 85 ff ff       	call   0x403fbc
40ba7f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ba82:	e8 35 85 ff ff       	call   0x403fbc
40ba87:	c3                   	ret
40ba88:	e9 33 7f ff ff       	jmp    0x4039c0
40ba8d:	eb e8                	jmp    0x40ba77
40ba8f:	8b c3                	mov    %ebx,%eax
40ba91:	5f                   	pop    %edi
40ba92:	5e                   	pop    %esi
40ba93:	5b                   	pop    %ebx
40ba94:	8b e5                	mov    %ebp,%esp
40ba96:	5d                   	pop    %ebp
40ba97:	c3                   	ret
40ba98:	89 cc                	mov    %ecx,%esp
40ba9a:	89 14 24             	mov    %edx,(%esp)
40ba9d:	8b 6d 00             	mov    0x0(%ebp),%ebp
40baa0:	e9 53 7f ff ff       	jmp    0x4039f8
40baa5:	c3                   	ret
40baa6:	8b c0                	mov    %eax,%eax
40baa8:	55                   	push   %ebp
40baa9:	8b ec                	mov    %esp,%ebp
40baab:	e8 3c ff ff ff       	call   0x40b9ec
40bab0:	8d 4d 08             	lea    0x8(%ebp),%ecx
40bab3:	83 c1 04             	add    $0x4,%ecx
40bab6:	8b 55 08             	mov    0x8(%ebp),%edx
40bab9:	e8 da ff ff ff       	call   0x40ba98
40babe:	5d                   	pop    %ebp
40babf:	c2 04 00             	ret    $0x4
40bac2:	8b c0                	mov    %eax,%eax
40bac4:	8b 0d 50 7d 46 00    	mov    0x467d50,%ecx
40baca:	b2 01                	mov    $0x1,%dl
40bacc:	a1 90 77 40 00       	mov    0x407790,%eax
40bad1:	e8 46 fd ff ff       	call   0x40b81c
40bad6:	e8 1d 7f ff ff       	call   0x4039f8
40badb:	c3                   	ret
40badc:	8b 00                	mov    (%eax),%eax
40bade:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
40bae3:	7f 2c                	jg     0x40bb11
40bae5:	74 59                	je     0x40bb40
40bae7:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
40baec:	7f 15                	jg     0x40bb03
40baee:	74 53                	je     0x40bb43
40baf0:	2d 05 00 00 c0       	sub    $0xc0000005,%eax
40baf5:	74 55                	je     0x40bb4c
40baf7:	2d 87 00 00 00       	sub    $0x87,%eax
40bafc:	74 3c                	je     0x40bb3a
40bafe:	48                   	dec    %eax
40baff:	74 48                	je     0x40bb49
40bb01:	eb 55                	jmp    0x40bb58
40bb03:	05 71 ff ff 3f       	add    $0x3fffff71,%eax
40bb08:	83 e8 02             	sub    $0x2,%eax
40bb0b:	72 33                	jb     0x40bb40
40bb0d:	74 37                	je     0x40bb46
40bb0f:	eb 47                	jmp    0x40bb58
40bb11:	3d 96 00 00 c0       	cmp    $0xc0000096,%eax
40bb16:	7f 11                	jg     0x40bb29
40bb18:	74 35                	je     0x40bb4f
40bb1a:	2d 93 00 00 c0       	sub    $0xc0000093,%eax
40bb1f:	74 28                	je     0x40bb49
40bb21:	48                   	dec    %eax
40bb22:	74 13                	je     0x40bb37
40bb24:	48                   	dec    %eax
40bb25:	74 16                	je     0x40bb3d
40bb27:	eb 2f                	jmp    0x40bb58
40bb29:	2d fd 00 00 c0       	sub    $0xc00000fd,%eax
40bb2e:	74 25                	je     0x40bb55
40bb30:	83 e8 3d             	sub    $0x3d,%eax
40bb33:	74 1d                	je     0x40bb52
40bb35:	eb 21                	jmp    0x40bb58
40bb37:	b0 03                	mov    $0x3,%al
40bb39:	c3                   	ret
40bb3a:	b0 04                	mov    $0x4,%al
40bb3c:	c3                   	ret
40bb3d:	b0 05                	mov    $0x5,%al
40bb3f:	c3                   	ret
40bb40:	b0 06                	mov    $0x6,%al
40bb42:	c3                   	ret
40bb43:	b0 07                	mov    $0x7,%al
40bb45:	c3                   	ret
40bb46:	b0 08                	mov    $0x8,%al
40bb48:	c3                   	ret
40bb49:	b0 09                	mov    $0x9,%al
40bb4b:	c3                   	ret
40bb4c:	b0 0b                	mov    $0xb,%al
40bb4e:	c3                   	ret
40bb4f:	b0 0c                	mov    $0xc,%al
40bb51:	c3                   	ret
40bb52:	b0 0d                	mov    $0xd,%al
40bb54:	c3                   	ret
40bb55:	b0 0e                	mov    $0xe,%al
40bb57:	c3                   	ret
40bb58:	b0 16                	mov    $0x16,%al
40bb5a:	c3                   	ret
40bb5b:	90                   	nop
40bb5c:	53                   	push   %ebx
40bb5d:	8b d8                	mov    %eax,%ebx
40bb5f:	8b c3                	mov    %ebx,%eax
40bb61:	e8 76 ff ff ff       	call   0x40badc
40bb66:	25 ff 00 00 00       	and    $0xff,%eax
40bb6b:	8b 04 c5 40 d2 45 00 	mov    0x45d240(,%eax,8),%eax
40bb72:	5b                   	pop    %ebx
40bb73:	c3                   	ret
40bb74:	55                   	push   %ebp
40bb75:	8b ec                	mov    %esp,%ebp
40bb77:	81 c4 90 fe ff ff    	add    $0xfffffe90,%esp
40bb7d:	53                   	push   %ebx
40bb7e:	56                   	push   %esi
40bb7f:	33 c0                	xor    %eax,%eax
40bb81:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
40bb87:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
40bb8d:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
40bb93:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
40bb99:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bb9c:	33 c0                	xor    %eax,%eax
40bb9e:	55                   	push   %ebp
40bb9f:	68 2f bd 40 00       	push   $0x40bd2f
40bba4:	64 ff 30             	push   %fs:(%eax)
40bba7:	64 89 20             	mov    %esp,%fs:(%eax)
40bbaa:	8b 45 08             	mov    0x8(%ebp),%eax
40bbad:	8b 58 fc             	mov    -0x4(%eax),%ebx
40bbb0:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
40bbb4:	75 0f                	jne    0x40bbc5
40bbb6:	8d 55 fc             	lea    -0x4(%ebp),%edx
40bbb9:	a1 9c 80 46 00       	mov    0x46809c,%eax
40bbbe:	e8 5d 9f ff ff       	call   0x405b20
40bbc3:	eb 0d                	jmp    0x40bbd2
40bbc5:	8d 55 fc             	lea    -0x4(%ebp),%edx
40bbc8:	a1 14 7f 46 00       	mov    0x467f14,%eax
40bbcd:	e8 4e 9f ff ff       	call   0x405b20
40bbd2:	8b 73 18             	mov    0x18(%ebx),%esi
40bbd5:	6a 1c                	push   $0x1c
40bbd7:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bbda:	50                   	push   %eax
40bbdb:	8b 43 0c             	mov    0xc(%ebx),%eax
40bbde:	50                   	push   %eax
40bbdf:	e8 dc a5 ff ff       	call   0x4061c0
40bbe4:	81 7d f0 00 10 00 00 	cmpl   $0x1000,-0x10(%ebp)
40bbeb:	0f 85 b3 00 00 00    	jne    0x40bca4
40bbf1:	68 05 01 00 00       	push   $0x105
40bbf6:	8d 85 db fe ff ff    	lea    -0x125(%ebp),%eax
40bbfc:	50                   	push   %eax
40bbfd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40bc00:	50                   	push   %eax
40bc01:	e8 92 a4 ff ff       	call   0x406098
40bc06:	85 c0                	test   %eax,%eax
40bc08:	0f 84 96 00 00 00    	je     0x40bca4
40bc0e:	8b 43 0c             	mov    0xc(%ebx),%eax
40bc11:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
40bc17:	c6 85 bc fe ff ff 05 	movb   $0x5,-0x144(%ebp)
40bc1e:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40bc24:	8d 95 db fe ff ff    	lea    -0x125(%ebp),%edx
40bc2a:	b9 05 01 00 00       	mov    $0x105,%ecx
40bc2f:	e8 f8 85 ff ff       	call   0x40422c
40bc34:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
40bc3a:	8d 95 b4 fe ff ff    	lea    -0x14c(%ebp),%edx
40bc40:	e8 b3 c8 ff ff       	call   0x4084f8
40bc45:	8b 85 b4 fe ff ff    	mov    -0x14c(%ebp),%eax