40bbb2:	57                   	push   %edi
40bbb3:	84 d2                	test   %dl,%dl
40bbb5:	74 08                	je     0x40bbbf
40bbb7:	83 c4 f0             	add    $0xfffffff0,%esp
40bbba:	e8 65 7a ff ff       	call   0x403624
40bbbf:	8b f1                	mov    %ecx,%esi
40bbc1:	8b da                	mov    %edx,%ebx
40bbc3:	8b f8                	mov    %eax,%edi
40bbc5:	8d 57 04             	lea    0x4(%edi),%edx
40bbc8:	8b c6                	mov    %esi,%eax
40bbca:	e8 15 a2 ff ff       	call   0x405de4
40bbcf:	8b c7                	mov    %edi,%eax
40bbd1:	84 db                	test   %bl,%bl
40bbd3:	74 0f                	je     0x40bbe4
40bbd5:	e8 a2 7a ff ff       	call   0x40367c
40bbda:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40bbe1:	83 c4 0c             	add    $0xc,%esp
40bbe4:	8b c7                	mov    %edi,%eax
40bbe6:	5f                   	pop    %edi
40bbe7:	5e                   	pop    %esi
40bbe8:	5b                   	pop    %ebx
40bbe9:	c3                   	ret
40bbea:	8b c0                	mov    %eax,%eax
40bbec:	55                   	push   %ebp
40bbed:	8b ec                	mov    %esp,%ebp
40bbef:	6a 00                	push   $0x0
40bbf1:	6a 00                	push   $0x0
40bbf3:	53                   	push   %ebx
40bbf4:	56                   	push   %esi
40bbf5:	57                   	push   %edi
40bbf6:	84 d2                	test   %dl,%dl
40bbf8:	74 08                	je     0x40bc02
40bbfa:	83 c4 f0             	add    $0xfffffff0,%esp
40bbfd:	e8 22 7a ff ff       	call   0x403624
40bc02:	8b f1                	mov    %ecx,%esi
40bc04:	8b da                	mov    %edx,%ebx
40bc06:	8b f8                	mov    %eax,%edi
40bc08:	33 c0                	xor    %eax,%eax
40bc0a:	55                   	push   %ebp
40bc0b:	68 58 bc 40 00       	push   $0x40bc58
40bc10:	64 ff 30             	push   %fs:(%eax)
40bc13:	64 89 20             	mov    %esp,%fs:(%eax)
40bc16:	8d 45 fc             	lea    -0x4(%ebp),%eax
40bc19:	50                   	push   %eax
40bc1a:	8d 55 f8             	lea    -0x8(%ebp),%edx
40bc1d:	8b c6                	mov    %esi,%eax
40bc1f:	e8 c0 a1 ff ff       	call   0x405de4
40bc24:	8b 45 f8             	mov    -0x8(%ebp),%eax
40bc27:	8b 55 0c             	mov    0xc(%ebp),%edx
40bc2a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bc2d:	e8 ca d3 ff ff       	call   0x408ffc
40bc32:	8b 55 fc             	mov    -0x4(%ebp),%edx
40bc35:	8d 47 04             	lea    0x4(%edi),%eax
40bc38:	e8 67 84 ff ff       	call   0x4040a4
40bc3d:	33 c0                	xor    %eax,%eax
40bc3f:	5a                   	pop    %edx
40bc40:	59                   	pop    %ecx
40bc41:	59                   	pop    %ecx
40bc42:	64 89 10             	mov    %edx,%fs:(%eax)
40bc45:	68 5f bc 40 00       	push   $0x40bc5f
40bc4a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bc4d:	ba 02 00 00 00       	mov    $0x2,%edx
40bc52:	e8 1d 84 ff ff       	call   0x404074
40bc57:	c3                   	ret
40bc58:	e9 f7 7d ff ff       	jmp    0x403a54
40bc5d:	eb eb                	jmp    0x40bc4a
40bc5f:	8b c7                	mov    %edi,%eax
40bc61:	84 db                	test   %bl,%bl
40bc63:	74 0f                	je     0x40bc74
40bc65:	e8 12 7a ff ff       	call   0x40367c
40bc6a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40bc71:	83 c4 0c             	add    $0xc,%esp
40bc74:	8b c7                	mov    %edi,%eax
40bc76:	5f                   	pop    %edi
40bc77:	5e                   	pop    %esi
40bc78:	5b                   	pop    %ebx
40bc79:	59                   	pop    %ecx
40bc7a:	59                   	pop    %ecx
40bc7b:	5d                   	pop    %ebp
40bc7c:	c2 08 00             	ret    $0x8
40bc7f:	90                   	nop
40bc80:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
40bc84:	74 05                	je     0x40bc8b
40bc86:	e8 e9 75 ff ff       	call   0x403274
40bc8b:	c3                   	ret
40bc8c:	90                   	nop
40bc8d:	bc 40 00 0e 09       	mov    $0x90e0040,%esp
40bc92:	54                   	push   %esp
40bc93:	45                   	inc    %ebp
40bc94:	72 72                	jb     0x40bd08
40bc96:	6f                   	outsl  %ds:(%esi),(%dx)
40bc97:	72 52                	jb     0x40bceb
40bc99:	65 63 08             	arpl   %ecx,%gs:(%eax)
40bc9c:	00 00                	add    %al,(%eax)
40bc9e:	00 01                	add    %al,(%ecx)
40bca0:	00 00                	add    %al,(%eax)
40bca2:	00 ac 10 40 00 04 00 	add    %ch,0x40040(%eax,%edx,1)
40bca9:	00 00                	add    %al,(%eax)
40bcab:	90                   	nop
40bcac:	53                   	push   %ebx
40bcad:	56                   	push   %esi
40bcae:	83 c4 f8             	add    $0xfffffff8,%esp
40bcb1:	33 db                	xor    %ebx,%ebx
40bcb3:	e8 18 6c ff ff       	call   0x4028d0
40bcb8:	8b f0                	mov    %eax,%esi
40bcba:	eb 01                	jmp    0x40bcbd
40bcbc:	43                   	inc    %ebx
40bcbd:	83 fb 06             	cmp    $0x6,%ebx
40bcc0:	7f 09                	jg     0x40bccb
40bcc2:	3b 34 dd 20 92 46 00 	cmp    0x469220(,%ebx,8),%esi
40bcc9:	75 f1                	jne    0x40bcbc
40bccb:	83 fb 06             	cmp    $0x6,%ebx
40bcce:	7f 15                	jg     0x40bce5
40bcd0:	8b 0c dd 24 92 46 00 	mov    0x469224(,%ebx,8),%ecx
40bcd7:	b2 01                	mov    $0x1,%dl
40bcd9:	a1 00 73 40 00       	mov    0x407300,%eax
40bcde:	e8 11 fe ff ff       	call   0x40baf4
40bce3:	eb 1d                	jmp    0x40bd02
40bce5:	89 34 24             	mov    %esi,(%esp)
40bce8:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
40bced:	54                   	push   %esp
40bcee:	6a 00                	push   $0x0
40bcf0:	8b 0d 80 45 47 00    	mov    0x474580,%ecx
40bcf6:	b2 01                	mov    $0x1,%dl
40bcf8:	a1 00 73 40 00       	mov    0x407300,%eax
40bcfd:	e8 ea fe ff ff       	call   0x40bbec
40bd02:	89 70 0c             	mov    %esi,0xc(%eax)
40bd05:	59                   	pop    %ecx
40bd06:	5a                   	pop    %edx
40bd07:	5e                   	pop    %esi
40bd08:	5b                   	pop    %ebx
40bd09:	c3                   	ret
40bd0a:	8b c0                	mov    %eax,%eax
40bd0c:	10 bd 40 00 0e 0a    	adc    %bh,0xa0e0040(%ebp)
40bd12:	54                   	push   %esp
40bd13:	45                   	inc    %ebp
40bd14:	78 63                	js     0x40bd79
40bd16:	65 70 74             	gs jo  0x40bd8d
40bd19:	52                   	push   %edx
40bd1a:	65 63 08             	arpl   %ecx,%gs:(%eax)
40bd1d:	00 00                	add    %al,(%eax)
40bd1f:	00 01                	add    %al,(%ecx)
40bd21:	00 00                	add    %al,(%eax)
40bd23:	00 ac 10 40 00 04 00 	add    %ch,0x40040(%eax,%edx,1)
40bd2a:	00 00                	add    %al,(%eax)
40bd2c:	53                   	push   %ebx
40bd2d:	8b da                	mov    %edx,%ebx
40bd2f:	8b d0                	mov    %eax,%edx
40bd31:	fe ca                	dec    %dl
40bd33:	74 0c                	je     0x40bd41
40bd35:	fe ca                	dec    %dl
40bd37:	74 10                	je     0x40bd49
40bd39:	4a                   	dec    %edx
40bd3a:	80 ea 16             	sub    $0x16,%dl
40bd3d:	72 12                	jb     0x40bd51
40bd3f:	eb 2c                	jmp    0x40bd6d
40bd41:	8b 15 94 57 47 00    	mov    0x475794,%edx
40bd47:	eb 2b                	jmp    0x40bd74
40bd49:	8b 15 98 57 47 00    	mov    0x475798,%edx
40bd4f:	eb 23                	jmp    0x40bd74
40bd51:	25 ff 00 00 00       	and    $0xff,%eax
40bd56:	8d 04 c5 40 92 46 00 	lea    0x469240(,%eax,8),%eax
40bd5d:	8b 48 04             	mov    0x4(%eax),%ecx
40bd60:	8b 00                	mov    (%eax),%eax
40bd62:	b2 01                	mov    $0x1,%dl
40bd64:	e8 8b fd ff ff       	call   0x40baf4
40bd69:	8b d0                	mov    %eax,%edx
40bd6b:	eb 07                	jmp    0x40bd74
40bd6d:	e8 3a ff ff ff       	call   0x40bcac
40bd72:	8b d0                	mov    %eax,%edx
40bd74:	53                   	push   %ebx
40bd75:	8b c2                	mov    %edx,%eax
40bd77:	e9 10 7d ff ff       	jmp    0x403a8c
40bd7c:	5b                   	pop    %ebx
40bd7d:	c3                   	ret
40bd7e:	8b c0                	mov    %eax,%eax
40bd80:	55                   	push   %ebp
40bd81:	8b ec                	mov    %esp,%ebp
40bd83:	83 c4 e0             	add    $0xffffffe0,%esp
40bd86:	53                   	push   %ebx
40bd87:	56                   	push   %esi
40bd88:	57                   	push   %edi
40bd89:	33 db                	xor    %ebx,%ebx
40bd8b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40bd8e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40bd91:	8b f9                	mov    %ecx,%edi
40bd93:	8b f2                	mov    %edx,%esi
40bd95:	8b d8                	mov    %eax,%ebx
40bd97:	33 c0                	xor    %eax,%eax
40bd99:	55                   	push   %ebp
40bd9a:	68 1c be 40 00       	push   $0x40be1c
40bd9f:	64 ff 30             	push   %fs:(%eax)
40bda2:	64 89 20             	mov    %esp,%fs:(%eax)
40bda5:	85 db                	test   %ebx,%ebx
40bda7:	74 0c                	je     0x40bdb5
40bda9:	8d 45 fc             	lea    -0x4(%ebp),%eax
40bdac:	8b d3                	mov    %ebx,%edx
40bdae:	e8 35 83 ff ff       	call   0x4040e8
40bdb3:	eb 0d                	jmp    0x40bdc2
40bdb5:	8d 55 fc             	lea    -0x4(%ebp),%edx
40bdb8:	a1 b4 47 47 00       	mov    0x4747b4,%eax
40bdbd:	e8 22 a0 ff ff       	call   0x405de4
40bdc2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bdc5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40bdc8:	c6 45 e8 0b          	movb   $0xb,-0x18(%ebp)
40bdcc:	89 75 ec             	mov    %esi,-0x14(%ebp)
40bdcf:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
40bdd3:	89 7d f4             	mov    %edi,-0xc(%ebp)
40bdd6:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40bdda:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40bddd:	50                   	push   %eax
40bdde:	6a 02                	push   $0x2
40bde0:	8d 55 e0             	lea    -0x20(%ebp),%edx
40bde3:	a1 14 48 47 00       	mov    0x474814,%eax
40bde8:	e8 f7 9f ff ff       	call   0x405de4
40bded:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40bdf0:	b2 01                	mov    $0x1,%dl
40bdf2:	a1 08 7a 40 00       	mov    0x407a08,%eax
40bdf7:	e8 34 fd ff ff       	call   0x40bb30
40bdfc:	8b d8                	mov    %eax,%ebx
40bdfe:	33 c0                	xor    %eax,%eax
40be00:	5a                   	pop    %edx
40be01:	59                   	pop    %ecx
40be02:	59                   	pop    %ecx
40be03:	64 89 10             	mov    %edx,%fs:(%eax)
40be06:	68 23 be 40 00       	push   $0x40be23
40be0b:	8d 45 e0             	lea    -0x20(%ebp),%eax
40be0e:	e8 3d 82 ff ff       	call   0x404050
40be13:	8d 45 fc             	lea    -0x4(%ebp),%eax
40be16:	e8 35 82 ff ff       	call   0x404050
40be1b:	c3                   	ret
40be1c:	e9 33 7c ff ff       	jmp    0x403a54
40be21:	eb e8                	jmp    0x40be0b
40be23:	8b c3                	mov    %ebx,%eax
40be25:	5f                   	pop    %edi
40be26:	5e                   	pop    %esi
40be27:	5b                   	pop    %ebx
40be28:	8b e5                	mov    %ebp,%esp
40be2a:	5d                   	pop    %ebp
40be2b:	c3                   	ret
40be2c:	89 cc                	mov    %ecx,%esp
40be2e:	89 14 24             	mov    %edx,(%esp)
40be31:	8b 6d 00             	mov    0x0(%ebp),%ebp
40be34:	e9 53 7c ff ff       	jmp    0x403a8c
40be39:	c3                   	ret
40be3a:	8b c0                	mov    %eax,%eax
40be3c:	55                   	push   %ebp
40be3d:	8b ec                	mov    %esp,%ebp
40be3f:	e8 3c ff ff ff       	call   0x40bd80
40be44:	8d 4d 08             	lea    0x8(%ebp),%ecx
40be47:	83 c1 04             	add    $0x4,%ecx
40be4a:	8b 55 08             	mov    0x8(%ebp),%edx
40be4d:	e8 da ff ff ff       	call   0x40be2c
40be52:	5d                   	pop    %ebp
40be53:	c2 04 00             	ret    $0x4
40be56:	8b c0                	mov    %eax,%eax
40be58:	8b 0d a8 45 47 00    	mov    0x4745a8,%ecx
40be5e:	b2 01                	mov    $0x1,%dl
40be60:	a1 68 7a 40 00       	mov    0x407a68,%eax
40be65:	e8 46 fd ff ff       	call   0x40bbb0
40be6a:	e8 1d 7c ff ff       	call   0x403a8c
40be6f:	c3                   	ret
40be70:	8b 00                	mov    (%eax),%eax
40be72:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
40be77:	7f 2c                	jg     0x40bea5
40be79:	74 59                	je     0x40bed4
40be7b:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
40be80:	7f 15                	jg     0x40be97
40be82:	74 53                	je     0x40bed7
40be84:	2d 05 00 00 c0       	sub    $0xc0000005,%eax
40be89:	74 55                	je     0x40bee0
40be8b:	2d 87 00 00 00       	sub    $0x87,%eax
40be90:	74 3c                	je     0x40bece
40be92:	48                   	dec    %eax
40be93:	74 48                	je     0x40bedd
40be95:	eb 55                	jmp    0x40beec
40be97:	05 71 ff ff 3f       	add    $0x3fffff71,%eax
40be9c:	83 e8 02             	sub    $0x2,%eax
40be9f:	72 33                	jb     0x40bed4
40bea1:	74 37                	je     0x40beda
40bea3:	eb 47                	jmp    0x40beec
40bea5:	3d 96 00 00 c0       	cmp    $0xc0000096,%eax
40beaa:	7f 11                	jg     0x40bebd
40beac:	74 35                	je     0x40bee3
40beae:	2d 93 00 00 c0       	sub    $0xc0000093,%eax
40beb3:	74 28                	je     0x40bedd
40beb5:	48                   	dec    %eax
40beb6:	74 13                	je     0x40becb
40beb8:	48                   	dec    %eax
40beb9:	74 16                	je     0x40bed1
40bebb:	eb 2f                	jmp    0x40beec
40bebd:	2d fd 00 00 c0       	sub    $0xc00000fd,%eax
40bec2:	74 25                	je     0x40bee9
40bec4:	83 e8 3d             	sub    $0x3d,%eax
40bec7:	74 1d                	je     0x40bee6
40bec9:	eb 21                	jmp    0x40beec
40becb:	b0 03                	mov    $0x3,%al
40becd:	c3                   	ret
40bece:	b0 04                	mov    $0x4,%al
40bed0:	c3                   	ret
40bed1:	b0 05                	mov    $0x5,%al
40bed3:	c3                   	ret
40bed4:	b0 06                	mov    $0x6,%al
40bed6:	c3                   	ret
40bed7:	b0 07                	mov    $0x7,%al
40bed9:	c3                   	ret
40beda:	b0 08                	mov    $0x8,%al
40bedc:	c3                   	ret
40bedd:	b0 09                	mov    $0x9,%al
40bedf:	c3                   	ret
40bee0:	b0 0b                	mov    $0xb,%al
40bee2:	c3                   	ret
40bee3:	b0 0c                	mov    $0xc,%al
40bee5:	c3                   	ret
40bee6:	b0 0d                	mov    $0xd,%al
40bee8:	c3                   	ret
40bee9:	b0 0e                	mov    $0xe,%al
40beeb:	c3                   	ret
40beec:	b0 16                	mov    $0x16,%al
40beee:	c3                   	ret
40beef:	90                   	nop
40bef0:	53                   	push   %ebx
40bef1:	8b d8                	mov    %eax,%ebx
40bef3:	8b c3                	mov    %ebx,%eax
40bef5:	e8 76 ff ff ff       	call   0x40be70
40befa:	25 ff 00 00 00       	and    $0xff,%eax
40beff:	8b 04 c5 40 92 46 00 	mov    0x469240(,%eax,8),%eax
40bf06:	5b                   	pop    %ebx
40bf07:	c3                   	ret
40bf08:	55                   	push   %ebp
40bf09:	8b ec                	mov    %esp,%ebp
40bf0b:	81 c4 90 fe ff ff    	add    $0xfffffe90,%esp
40bf11:	53                   	push   %ebx
40bf12:	56                   	push   %esi
40bf13:	33 c0                	xor    %eax,%eax
40bf15:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
40bf1b:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
40bf21:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
40bf27:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
40bf2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bf30:	33 c0                	xor    %eax,%eax
40bf32:	55                   	push   %ebp
40bf33:	68 c3 c0 40 00       	push   $0x40c0c3
40bf38:	64 ff 30             	push   %fs:(%eax)
40bf3b:	64 89 20             	mov    %esp,%fs:(%eax)
40bf3e:	8b 45 08             	mov    0x8(%ebp),%eax
40bf41:	8b 58 fc             	mov    -0x4(%eax),%ebx
40bf44:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
40bf48:	75 0f                	jne    0x40bf59
40bf4a:	8d 55 fc             	lea    -0x4(%ebp),%edx