40bb31:	e8 62 84 ff ff       	call   0x403f98
40bb36:	c3                   	ret
40bb37:	e9 60 7e ff ff       	jmp    0x40399c
40bb3c:	eb d5                	jmp    0x40bb13
40bb3e:	8b c3                	mov    %ebx,%eax
40bb40:	5e                   	pop    %esi
40bb41:	5b                   	pop    %ebx
40bb42:	8b e5                	mov    %ebp,%esp
40bb44:	5d                   	pop    %ebp
40bb45:	c3                   	ret
40bb46:	8b c0                	mov    %eax,%eax
40bb48:	55                   	push   %ebp
40bb49:	8b ec                	mov    %esp,%ebp
40bb4b:	83 c4 f0             	add    $0xfffffff0,%esp
40bb4e:	53                   	push   %ebx
40bb4f:	33 d2                	xor    %edx,%edx
40bb51:	89 55 f0             	mov    %edx,-0x10(%ebp)
40bb54:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bb57:	33 c0                	xor    %eax,%eax
40bb59:	55                   	push   %ebp
40bb5a:	68 03 bc 40 00       	push   $0x40bc03
40bb5f:	64 ff 30             	push   %fs:(%eax)
40bb62:	64 89 20             	mov    %esp,%fs:(%eax)
40bb65:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bb68:	e8 77 fd ff ff       	call   0x40b8e4
40bb6d:	25 ff 00 00 00       	and    $0xff,%eax
40bb72:	8b d0                	mov    %eax,%edx
40bb74:	83 c2 fd             	add    $0xfffffffd,%edx
40bb77:	83 ea 08             	sub    $0x8,%edx
40bb7a:	72 08                	jb     0x40bb84
40bb7c:	74 1d                	je     0x40bb9b
40bb7e:	4a                   	dec    %edx
40bb7f:	83 ea 0a             	sub    $0xa,%edx
40bb82:	73 22                	jae    0x40bba6
40bb84:	8d 04 c5 40 32 46 00 	lea    0x463240(,%eax,8),%eax
40bb8b:	8b 48 04             	mov    0x4(%eax),%ecx
40bb8e:	8b 00                	mov    (%eax),%eax
40bb90:	b2 01                	mov    $0x1,%dl
40bb92:	e8 d1 f9 ff ff       	call   0x40b568
40bb97:	8b d8                	mov    %eax,%ebx
40bb99:	eb 3b                	jmp    0x40bbd6
40bb9b:	55                   	push   %ebp
40bb9c:	e8 db fd ff ff       	call   0x40b97c
40bba1:	59                   	pop    %ecx
40bba2:	8b d8                	mov    %eax,%ebx
40bba4:	eb 30                	jmp    0x40bbd6
40bba6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bba9:	8b 00                	mov    (%eax),%eax
40bbab:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bbae:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40bbb2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bbb5:	50                   	push   %eax
40bbb6:	6a 00                	push   $0x0
40bbb8:	8d 55 f0             	lea    -0x10(%ebp),%edx
40bbbb:	a1 2c da 46 00       	mov    0x46da2c,%eax
40bbc0:	e8 37 9f ff ff       	call   0x405afc
40bbc5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bbc8:	b2 01                	mov    $0x1,%dl
40bbca:	a1 d4 70 40 00       	mov    0x4070d4,%eax
40bbcf:	e8 d0 f9 ff ff       	call   0x40b5a4
40bbd4:	8b d8                	mov    %eax,%ebx
40bbd6:	8b c3                	mov    %ebx,%eax
40bbd8:	8b 15 7c 70 40 00    	mov    0x40707c,%edx
40bbde:	e8 f1 77 ff ff       	call   0x4033d4
40bbe3:	84 c0                	test   %al,%al
40bbe5:	74 06                	je     0x40bbed
40bbe7:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bbea:	89 43 0c             	mov    %eax,0xc(%ebx)
40bbed:	33 c0                	xor    %eax,%eax
40bbef:	5a                   	pop    %edx
40bbf0:	59                   	pop    %ecx
40bbf1:	59                   	pop    %ecx
40bbf2:	64 89 10             	mov    %edx,%fs:(%eax)
40bbf5:	68 0a bc 40 00       	push   $0x40bc0a
40bbfa:	8d 45 f0             	lea    -0x10(%ebp),%eax
40bbfd:	e8 96 83 ff ff       	call   0x403f98
40bc02:	c3                   	ret
40bc03:	e9 94 7d ff ff       	jmp    0x40399c
40bc08:	eb f0                	jmp    0x40bbfa
40bc0a:	8b c3                	mov    %ebx,%eax
40bc0c:	5b                   	pop    %ebx
40bc0d:	8b e5                	mov    %ebp,%esp
40bc0f:	5d                   	pop    %ebp
40bc10:	c3                   	ret
40bc11:	8d 40 00             	lea    0x0(%eax),%eax
40bc14:	e8 87 f8 ff ff       	call   0x40b4a0
40bc19:	b8 01 00 00 00       	mov    $0x1,%eax
40bc1e:	e8 5d 83 ff ff       	call   0x403f80
40bc23:	c3                   	ret
40bc24:	8b 0d bc da 46 00    	mov    0x46dabc,%ecx
40bc2a:	b2 01                	mov    $0x1,%dl
40bc2c:	a1 c8 6f 40 00       	mov    0x406fc8,%eax
40bc31:	e8 ee f9 ff ff       	call   0x40b624
40bc36:	a3 94 e7 46 00       	mov    %eax,0x46e794
40bc3b:	8b 0d 60 dc 46 00    	mov    0x46dc60,%ecx
40bc41:	b2 01                	mov    $0x1,%dl
40bc43:	a1 50 74 40 00       	mov    0x407450,%eax
40bc48:	e8 d7 f9 ff ff       	call   0x40b624
40bc4d:	a3 98 e7 46 00       	mov    %eax,0x46e798
40bc52:	a1 40 da 46 00       	mov    0x46da40,%eax
40bc57:	c7 00 a0 b7 40 00    	movl   $0x40b7a0,(%eax)
40bc5d:	a1 40 db 46 00       	mov    0x46db40,%eax
40bc62:	c7 00 14 bc 40 00    	movl   $0x40bc14,(%eax)
40bc68:	a1 ac da 46 00       	mov    0x46daac,%eax
40bc6d:	8b 15 04 6f 40 00    	mov    0x406f04,%edx
40bc73:	89 10                	mov    %edx,(%eax)
40bc75:	a1 24 db 46 00       	mov    0x46db24,%eax
40bc7a:	c7 00 64 b9 40 00    	movl   $0x40b964,(%eax)
40bc80:	a1 48 db 46 00       	mov    0x46db48,%eax
40bc85:	c7 00 48 bb 40 00    	movl   $0x40bb48,(%eax)
40bc8b:	b8 b0 b8 40 00       	mov    $0x40b8b0,%eax
40bc90:	8b 15 8c dc 46 00    	mov    0x46dc8c,%edx
40bc96:	89 02                	mov    %eax,(%edx)
40bc98:	b8 cc b8 40 00       	mov    $0x40b8cc,%eax
40bc9d:	8b 15 24 da 46 00    	mov    0x46da24,%edx
40bca3:	89 02                	mov    %eax,(%edx)
40bca5:	c3                   	ret
40bca6:	8b c0                	mov    %eax,%eax
40bca8:	83 3d 94 e7 46 00 00 	cmpl   $0x0,0x46e794
40bcaf:	74 1a                	je     0x40bccb
40bcb1:	a1 94 e7 46 00       	mov    0x46e794,%eax
40bcb6:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40bcba:	a1 94 e7 46 00       	mov    0x46e794,%eax
40bcbf:	8b 10                	mov    (%eax),%edx
40bcc1:	ff 52 f8             	call   *-0x8(%edx)
40bcc4:	33 c0                	xor    %eax,%eax
40bcc6:	a3 94 e7 46 00       	mov    %eax,0x46e794
40bccb:	83 3d 98 e7 46 00 00 	cmpl   $0x0,0x46e798
40bcd2:	74 1a                	je     0x40bcee
40bcd4:	a1 98 e7 46 00       	mov    0x46e798,%eax
40bcd9:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40bcdd:	a1 98 e7 46 00       	mov    0x46e798,%eax
40bce2:	e8 61 75 ff ff       	call   0x403248
40bce7:	33 c0                	xor    %eax,%eax
40bce9:	a3 98 e7 46 00       	mov    %eax,0x46e798
40bcee:	a1 40 da 46 00       	mov    0x46da40,%eax
40bcf3:	33 d2                	xor    %edx,%edx
40bcf5:	89 10                	mov    %edx,(%eax)
40bcf7:	a1 40 db 46 00       	mov    0x46db40,%eax
40bcfc:	33 d2                	xor    %edx,%edx
40bcfe:	89 10                	mov    %edx,(%eax)
40bd00:	a1 ac da 46 00       	mov    0x46daac,%eax
40bd05:	33 d2                	xor    %edx,%edx
40bd07:	89 10                	mov    %edx,(%eax)
40bd09:	a1 24 db 46 00       	mov    0x46db24,%eax
40bd0e:	33 d2                	xor    %edx,%edx
40bd10:	89 10                	mov    %edx,(%eax)
40bd12:	a1 48 db 46 00       	mov    0x46db48,%eax
40bd17:	33 d2                	xor    %edx,%edx
40bd19:	89 10                	mov    %edx,(%eax)
40bd1b:	a1 8c dc 46 00       	mov    0x46dc8c,%eax
40bd20:	33 d2                	xor    %edx,%edx
40bd22:	89 10                	mov    %edx,(%eax)
40bd24:	c3                   	ret
40bd25:	8d 40 00             	lea    0x0(%eax),%eax
40bd28:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40bd2e:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40bd35:	54                   	push   %esp
40bd36:	e8 91 a3 ff ff       	call   0x4060cc
40bd3b:	85 c0                	test   %eax,%eax
40bd3d:	74 50                	je     0x40bd8f
40bd3f:	8b 44 24 10          	mov    0x10(%esp),%eax
40bd43:	a3 c4 30 46 00       	mov    %eax,0x4630c4
40bd48:	8b 44 24 04          	mov    0x4(%esp),%eax
40bd4c:	a3 c8 30 46 00       	mov    %eax,0x4630c8
40bd51:	8b 44 24 08          	mov    0x8(%esp),%eax
40bd55:	a3 cc 30 46 00       	mov    %eax,0x4630cc
40bd5a:	83 3d c4 30 46 00 01 	cmpl   $0x1,0x4630c4
40bd61:	75 10                	jne    0x40bd73
40bd63:	8b 44 24 0c          	mov    0xc(%esp),%eax
40bd67:	25 ff ff 00 00       	and    $0xffff,%eax
40bd6c:	a3 d0 30 46 00       	mov    %eax,0x4630d0
40bd71:	eb 09                	jmp    0x40bd7c
40bd73:	8b 44 24 0c          	mov    0xc(%esp),%eax
40bd77:	a3 d0 30 46 00       	mov    %eax,0x4630d0
40bd7c:	b8 d4 30 46 00       	mov    $0x4630d4,%eax
40bd81:	8d 54 24 14          	lea    0x14(%esp),%edx
40bd85:	b9 80 00 00 00       	mov    $0x80,%ecx
40bd8a:	e8 79 84 ff ff       	call   0x404208
40bd8f:	81 c4 94 00 00 00    	add    $0x94,%esp
40bd95:	c3                   	ret
40bd96:	8b c0                	mov    %eax,%eax
40bd98:	3b 05 c8 30 46 00    	cmp    0x4630c8,%eax
40bd9e:	7c 13                	jl     0x40bdb3
40bda0:	3b 05 c8 30 46 00    	cmp    0x4630c8,%eax
40bda6:	75 08                	jne    0x40bdb0
40bda8:	3b 15 cc 30 46 00    	cmp    0x4630cc,%edx
40bdae:	7e 03                	jle    0x40bdb3
40bdb0:	33 c0                	xor    %eax,%eax
40bdb2:	c3                   	ret
40bdb3:	b0 01                	mov    $0x1,%al
40bdb5:	c3                   	ret
40bdb6:	8b c0                	mov    %eax,%eax
40bdb8:	55                   	push   %ebp
40bdb9:	8b ec                	mov    %esp,%ebp
40bdbb:	83 c4 e8             	add    $0xffffffe8,%esp
40bdbe:	53                   	push   %ebx
40bdbf:	33 d2                	xor    %edx,%edx
40bdc1:	89 55 f8             	mov    %edx,-0x8(%ebp)
40bdc4:	8b d8                	mov    %eax,%ebx
40bdc6:	33 c0                	xor    %eax,%eax
40bdc8:	55                   	push   %ebp
40bdc9:	68 8e be 40 00       	push   $0x40be8e
40bdce:	64 ff 30             	push   %fs:(%eax)
40bdd1:	64 89 20             	mov    %esp,%fs:(%eax)
40bdd4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40bddb:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bdde:	8b d3                	mov    %ebx,%edx
40bde0:	e8 4b 82 ff ff       	call   0x404030
40bde5:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bde8:	e8 bb 86 ff ff       	call   0x4044a8
40bded:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bdf0:	50                   	push   %eax
40bdf1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40bdf4:	e8 5f 86 ff ff       	call   0x404458
40bdf9:	50                   	push   %eax
40bdfa:	e8 cd a3 ff ff       	call   0x4061cc
40bdff:	8b d8                	mov    %eax,%ebx
40be01:	85 db                	test   %ebx,%ebx
40be03:	74 73                	je     0x40be78
40be05:	8b c3                	mov    %ebx,%eax
40be07:	e8 b0 68 ff ff       	call   0x4026bc
40be0c:	89 45 f0             	mov    %eax,-0x10(%ebp)
40be0f:	33 c0                	xor    %eax,%eax
40be11:	55                   	push   %ebp
40be12:	68 71 be 40 00       	push   $0x40be71
40be17:	64 ff 30             	push   %fs:(%eax)
40be1a:	64 89 20             	mov    %esp,%fs:(%eax)
40be1d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be20:	50                   	push   %eax
40be21:	53                   	push   %ebx
40be22:	8b 45 f4             	mov    -0xc(%ebp),%eax
40be25:	50                   	push   %eax
40be26:	8b 45 f8             	mov    -0x8(%ebp),%eax
40be29:	e8 2a 86 ff ff       	call   0x404458
40be2e:	50                   	push   %eax
40be2f:	e8 90 a3 ff ff       	call   0x4061c4
40be34:	85 c0                	test   %eax,%eax
40be36:	74 23                	je     0x40be5b
40be38:	8d 45 e8             	lea    -0x18(%ebp),%eax
40be3b:	50                   	push   %eax
40be3c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40be3f:	50                   	push   %eax
40be40:	68 a0 be 40 00       	push   $0x40bea0
40be45:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be48:	50                   	push   %eax
40be49:	e8 86 a3 ff ff       	call   0x4061d4
40be4e:	85 c0                	test   %eax,%eax
40be50:	74 09                	je     0x40be5b
40be52:	8b 45 ec             	mov    -0x14(%ebp),%eax
40be55:	8b 40 08             	mov    0x8(%eax),%eax
40be58:	89 45 fc             	mov    %eax,-0x4(%ebp)
40be5b:	33 c0                	xor    %eax,%eax
40be5d:	5a                   	pop    %edx
40be5e:	59                   	pop    %ecx
40be5f:	59                   	pop    %ecx
40be60:	64 89 10             	mov    %edx,%fs:(%eax)
40be63:	68 78 be 40 00       	push   $0x40be78
40be68:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be6b:	e8 6c 68 ff ff       	call   0x4026dc
40be70:	c3                   	ret
40be71:	e9 26 7b ff ff       	jmp    0x40399c
40be76:	eb f0                	jmp    0x40be68
40be78:	33 c0                	xor    %eax,%eax
40be7a:	5a                   	pop    %edx
40be7b:	59                   	pop    %ecx
40be7c:	59                   	pop    %ecx
40be7d:	64 89 10             	mov    %edx,%fs:(%eax)
40be80:	68 95 be 40 00       	push   $0x40be95
40be85:	8d 45 f8             	lea    -0x8(%ebp),%eax
40be88:	e8 0b 81 ff ff       	call   0x403f98
40be8d:	c3                   	ret
40be8e:	e9 09 7b ff ff       	jmp    0x40399c
40be93:	eb f0                	jmp    0x40be85
40be95:	8b 45 fc             	mov    -0x4(%ebp),%eax
40be98:	5b                   	pop    %ebx
40be99:	8b e5                	mov    %ebp,%esp
40be9b:	5d                   	pop    %ebp
40be9c:	c3                   	ret
40be9d:	00 00                	add    %al,(%eax)
40be9f:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40bea3:	00 56 57             	add    %dl,0x57(%esi)
40bea6:	8b fa                	mov    %edx,%edi
40bea8:	33 d2                	xor    %edx,%edx
40beaa:	85 c0                	test   %eax,%eax
40beac:	74 66                	je     0x40bf14
40beae:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40beb2:	74 60                	je     0x40bf14
40beb4:	85 ff                	test   %edi,%edi
40beb6:	75 14                	jne    0x40becc
40beb8:	8a 00                	mov    (%eax),%al
40beba:	25 ff 00 00 00       	and    $0xff,%eax
40bebf:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40bec6:	73 4c                	jae    0x40bf14
40bec8:	b2 01                	mov    $0x1,%dl
40beca:	eb 48                	jmp    0x40bf14
40becc:	8b f7                	mov    %edi,%esi
40bece:	4e                   	dec    %esi
40becf:	eb 01                	jmp    0x40bed2
40bed1:	4e                   	dec    %esi
40bed2:	85 f6                	test   %esi,%esi
40bed4:	7c 12                	jl     0x40bee8
40bed6:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40bed9:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40bedf:	0f a3 0d 0c 31 46 00 	bt     %ecx,0x46310c
40bee6:	72 e9                	jb     0x40bed1
40bee8:	8b cf                	mov    %edi,%ecx
40beea:	2b ce                	sub    %esi,%ecx
40beec:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40bef2:	79 05                	jns    0x40bef9
40bef4:	49                   	dec    %ecx
40bef5:	83 c9 fe             	or     $0xfffffffe,%ecx
40bef8:	41                   	inc    %ecx
40bef9:	85 c9                	test   %ecx,%ecx
40befb:	75 04                	jne    0x40bf01
40befd:	b2 02                	mov    $0x2,%dl
40beff:	eb 13                	jmp    0x40bf14
40bf01:	8a 04 38             	mov    (%eax,%edi,1),%al
40bf04:	25 ff 00 00 00       	and    $0xff,%eax
40bf09:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40bf10:	73 02                	jae    0x40bf14
40bf12:	b2 01                	mov    $0x1,%dl
40bf14:	8b c2                	mov    %edx,%eax
40bf16:	5f                   	pop    %edi
40bf17:	5e                   	pop    %esi
40bf18:	c3                   	ret
40bf19:	8d 40 00             	lea    0x0(%eax),%eax
40bf1c:	53                   	push   %ebx
40bf1d:	56                   	push   %esi
40bf1e:	8b f2                	mov    %edx,%esi
40bf20:	8b d8                	mov    %eax,%ebx
40bf22:	33 c0                	xor    %eax,%eax
40bf24:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40bf2b:	74 0f                	je     0x40bf3c
40bf2d:	8b c3                	mov    %ebx,%eax
40bf2f:	e8 24 85 ff ff       	call   0x404458
40bf34:	8b d6                	mov    %esi,%edx
40bf36:	4a                   	dec    %edx
40bf37:	e8 68 ff ff ff       	call   0x40bea4
40bf3c:	5e                   	pop    %esi
40bf3d:	5b                   	pop    %ebx
40bf3e:	c3                   	ret
40bf3f:	90                   	nop
40bf40:	33 c9                	xor    %ecx,%ecx
40bf42:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40bf49:	74 07                	je     0x40bf52
40bf4b:	e8 54 ff ff ff       	call   0x40bea4
40bf50:	8b c8                	mov    %eax,%ecx
40bf52:	8b c1                	mov    %ecx,%eax
40bf54:	c3                   	ret