46be46:	e8 a5 ba f9 ff       	call   0x4078f0
46be4b:	6a 00                	push   $0x0
46be4d:	6a 0f                	push   $0xf
46be4f:	6a 0f                	push   $0xf
46be51:	6a 00                	push   $0x0
46be53:	53                   	push   %ebx
46be54:	e8 2f be f9 ff       	call   0x407c88
46be59:	85 c0                	test   %eax,%eax
46be5b:	75 c7                	jne    0x46be24
46be5d:	83 c4 1c             	add    $0x1c,%esp
46be60:	5b                   	pop    %ebx
46be61:	c3                   	ret
46be62:	8b c0                	mov    %eax,%eax
46be64:	53                   	push   %ebx
46be65:	56                   	push   %esi
46be66:	83 c4 e4             	add    $0xffffffe4,%esp
46be69:	8b f2                	mov    %edx,%esi
46be6b:	8b d8                	mov    %eax,%ebx
46be6d:	eb 13                	jmp    0x46be82
46be6f:	83 7c 24 04 12       	cmpl   $0x12,0x4(%esp)
46be74:	75 0c                	jne    0x46be82
46be76:	8b 44 24 08          	mov    0x8(%esp),%eax
46be7a:	50                   	push   %eax
46be7b:	e8 18 be f9 ff       	call   0x407c98
46be80:	eb 14                	jmp    0x46be96
46be82:	6a 01                	push   $0x1
46be84:	56                   	push   %esi
46be85:	53                   	push   %ebx
46be86:	6a 00                	push   $0x0
46be88:	8d 44 24 10          	lea    0x10(%esp),%eax
46be8c:	50                   	push   %eax
46be8d:	e8 f6 bd f9 ff       	call   0x407c88
46be92:	85 c0                	test   %eax,%eax
46be94:	75 d9                	jne    0x46be6f
46be96:	83 c4 1c             	add    $0x1c,%esp
46be99:	5e                   	pop    %esi
46be9a:	5b                   	pop    %ebx
46be9b:	c3                   	ret
46be9c:	53                   	push   %ebx
46be9d:	56                   	push   %esi
46be9e:	83 c4 f0             	add    $0xfffffff0,%esp
46bea1:	8b d9                	mov    %ecx,%ebx
46bea3:	8b f2                	mov    %edx,%esi
46bea5:	85 db                	test   %ebx,%ebx
46bea7:	74 40                	je     0x46bee9
46bea9:	83 fb 01             	cmp    $0x1,%ebx
46beac:	74 3b                	je     0x46bee9
46beae:	54                   	push   %esp
46beaf:	50                   	push   %eax
46beb0:	e8 a3 bc f9 ff       	call   0x407b58
46beb5:	53                   	push   %ebx
46beb6:	56                   	push   %esi
46beb7:	e8 3c b8 f9 ff       	call   0x4076f8
46bebc:	85 c0                	test   %eax,%eax
46bebe:	75 15                	jne    0x46bed5
46bec0:	54                   	push   %esp
46bec1:	e8 22 b6 f9 ff       	call   0x4074e8
46bec6:	8b d8                	mov    %eax,%ebx
46bec8:	53                   	push   %ebx
46bec9:	56                   	push   %esi
46beca:	e8 29 b8 f9 ff       	call   0x4076f8
46becf:	53                   	push   %ebx
46bed0:	e8 3b b6 f9 ff       	call   0x407510
46bed5:	8b 44 24 04          	mov    0x4(%esp),%eax
46bed9:	f7 d8                	neg    %eax
46bedb:	50                   	push   %eax
46bedc:	8b 44 24 04          	mov    0x4(%esp),%eax
46bee0:	f7 d8                	neg    %eax
46bee2:	50                   	push   %eax
46bee3:	56                   	push   %esi
46bee4:	e8 9f b7 f9 ff       	call   0x407688
46bee9:	83 c4 10             	add    $0x10,%esp
46beec:	5e                   	pop    %esi
46beed:	5b                   	pop    %ebx
46beee:	c3                   	ret
46beef:	90                   	nop
46bef0:	53                   	push   %ebx
46bef1:	56                   	push   %esi
46bef2:	57                   	push   %edi
46bef3:	8b fa                	mov    %edx,%edi
46bef5:	8b f0                	mov    %eax,%esi
46bef7:	83 3e 00             	cmpl   $0x0,(%esi)
46befa:	75 0e                	jne    0x46bf0a
46befc:	b2 01                	mov    $0x1,%dl
46befe:	a1 24 94 41 00       	mov    0x419424,%eax
46bf03:	e8 40 7b f9 ff       	call   0x403a48
46bf08:	89 06                	mov    %eax,(%esi)
46bf0a:	8b 06                	mov    (%esi),%eax
46bf0c:	8b d7                	mov    %edi,%edx
46bf0e:	e8 09 ff fa ff       	call   0x41be1c
46bf13:	40                   	inc    %eax
46bf14:	0f 94 c3             	sete   %bl
46bf17:	84 db                	test   %bl,%bl
46bf19:	74 09                	je     0x46bf24
46bf1b:	8b 06                	mov    (%esi),%eax
46bf1d:	8b d7                	mov    %edi,%edx
46bf1f:	e8 f0 fc fa ff       	call   0x41bc14
46bf24:	8b c3                	mov    %ebx,%eax
46bf26:	5f                   	pop    %edi
46bf27:	5e                   	pop    %esi
46bf28:	5b                   	pop    %ebx
46bf29:	c3                   	ret
46bf2a:	8b c0                	mov    %eax,%eax
46bf2c:	53                   	push   %ebx
46bf2d:	56                   	push   %esi
46bf2e:	57                   	push   %edi
46bf2f:	8b fa                	mov    %edx,%edi
46bf31:	8b f0                	mov    %eax,%esi
46bf33:	83 3e 00             	cmpl   $0x0,(%esi)
46bf36:	75 0e                	jne    0x46bf46
46bf38:	b2 01                	mov    $0x1,%dl
46bf3a:	a1 24 94 41 00       	mov    0x419424,%eax
46bf3f:	e8 04 7b f9 ff       	call   0x403a48
46bf44:	89 06                	mov    %eax,(%esi)
46bf46:	8b 06                	mov    (%esi),%eax
46bf48:	8b d7                	mov    %edi,%edx
46bf4a:	e8 cd fe fa ff       	call   0x41be1c
46bf4f:	40                   	inc    %eax
46bf50:	0f 94 c3             	sete   %bl
46bf53:	84 db                	test   %bl,%bl
46bf55:	74 0b                	je     0x46bf62
46bf57:	8b 06                	mov    (%esi),%eax
46bf59:	8b cf                	mov    %edi,%ecx
46bf5b:	33 d2                	xor    %edx,%edx
46bf5d:	e8 da fe fa ff       	call   0x41be3c
46bf62:	8b c3                	mov    %ebx,%eax
46bf64:	5f                   	pop    %edi
46bf65:	5e                   	pop    %esi
46bf66:	5b                   	pop    %ebx
46bf67:	c3                   	ret
46bf68:	53                   	push   %ebx
46bf69:	8b d8                	mov    %eax,%ebx
46bf6b:	83 3b 00             	cmpl   $0x0,(%ebx)
46bf6e:	74 1a                	je     0x46bf8a
46bf70:	8b 03                	mov    (%ebx),%eax
46bf72:	e8 e9 ff fa ff       	call   0x41bf60
46bf77:	8b 03                	mov    (%ebx),%eax
46bf79:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
46bf7d:	75 0b                	jne    0x46bf8a
46bf7f:	8b 03                	mov    (%ebx),%eax
46bf81:	e8 f2 7a f9 ff       	call   0x403a78
46bf86:	33 c0                	xor    %eax,%eax
46bf88:	89 03                	mov    %eax,(%ebx)
46bf8a:	5b                   	pop    %ebx
46bf8b:	c3                   	ret
46bf8c:	55                   	push   %ebp
46bf8d:	8b ec                	mov    %esp,%ebp
46bf8f:	83 c4 cc             	add    $0xffffffcc,%esp
46bf92:	53                   	push   %ebx
46bf93:	56                   	push   %esi
46bf94:	33 c0                	xor    %eax,%eax
46bf96:	89 45 cc             	mov    %eax,-0x34(%ebp)
46bf99:	33 c0                	xor    %eax,%eax
46bf9b:	55                   	push   %ebp
46bf9c:	68 43 c0 46 00       	push   $0x46c043
46bfa1:	64 ff 30             	push   %fs:(%eax)
46bfa4:	64 89 20             	mov    %esp,%fs:(%eax)
46bfa7:	bb 90 01 00 00       	mov    $0x190,%ebx
46bfac:	8d 45 fc             	lea    -0x4(%ebp),%eax
46bfaf:	50                   	push   %eax
46bfb0:	6a 01                	push   $0x1
46bfb2:	6a 00                	push   $0x0
46bfb4:	68 54 c0 46 00       	push   $0x46c054
46bfb9:	68 01 00 00 80       	push   $0x80000001
46bfbe:	e8 bd b0 f9 ff       	call   0x407080
46bfc3:	85 c0                	test   %eax,%eax
46bfc5:	75 66                	jne    0x46c02d
46bfc7:	c7 45 f4 20 00 00 00 	movl   $0x20,-0xc(%ebp)
46bfce:	8d 45 f4             	lea    -0xc(%ebp),%eax
46bfd1:	50                   	push   %eax
46bfd2:	8d 45 d0             	lea    -0x30(%ebp),%eax
46bfd5:	50                   	push   %eax
46bfd6:	8d 45 f8             	lea    -0x8(%ebp),%eax
46bfd9:	50                   	push   %eax
46bfda:	6a 00                	push   $0x0
46bfdc:	68 6c c0 46 00       	push   $0x46c06c
46bfe1:	8b 45 fc             	mov    -0x4(%ebp),%eax
46bfe4:	50                   	push   %eax
46bfe5:	e8 9e b0 f9 ff       	call   0x407088
46bfea:	8b f0                	mov    %eax,%esi
46bfec:	8b 45 fc             	mov    -0x4(%ebp),%eax
46bfef:	50                   	push   %eax
46bff0:	e8 73 b0 f9 ff       	call   0x407068
46bff5:	83 fe 02             	cmp    $0x2,%esi
46bff8:	74 33                	je     0x46c02d
46bffa:	85 f6                	test   %esi,%esi
46bffc:	75 06                	jne    0x46c004
46bffe:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
46c002:	74 04                	je     0x46c008
46c004:	33 db                	xor    %ebx,%ebx
46c006:	eb 25                	jmp    0x46c02d
46c008:	8d 45 cc             	lea    -0x34(%ebp),%eax
46c00b:	8d 55 d0             	lea    -0x30(%ebp),%edx
46c00e:	b9 20 00 00 00       	mov    $0x20,%ecx
46c013:	e8 b8 8a f9 ff       	call   0x404ad0
46c018:	8b 45 cc             	mov    -0x34(%ebp),%eax
46c01b:	8d 55 f0             	lea    -0x10(%ebp),%edx
46c01e:	e8 81 72 f9 ff       	call   0x4032a4
46c023:	8b d8                	mov    %eax,%ebx
46c025:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46c029:	74 02                	je     0x46c02d
46c02b:	33 db                	xor    %ebx,%ebx
46c02d:	33 c0                	xor    %eax,%eax
46c02f:	5a                   	pop    %edx
46c030:	59                   	pop    %ecx
46c031:	59                   	pop    %ecx
46c032:	64 89 10             	mov    %edx,%fs:(%eax)
46c035:	68 4a c0 46 00       	push   $0x46c04a
46c03a:	8d 45 cc             	lea    -0x34(%ebp),%eax
46c03d:	e8 26 88 f9 ff       	call   0x404868
46c042:	c3                   	ret
46c043:	e9 c4 81 f9 ff       	jmp    0x40420c
46c048:	eb f0                	jmp    0x46c03a
46c04a:	8b c3                	mov    %ebx,%eax
46c04c:	5e                   	pop    %esi
46c04d:	5b                   	pop    %ebx
46c04e:	8b e5                	mov    %ebp,%esp
46c050:	5d                   	pop    %ebp
46c051:	c3                   	ret
46c052:	00 00                	add    %al,(%eax)
46c054:	43                   	inc    %ebx
46c055:	6f                   	outsl  %ds:(%esi),(%dx)
46c056:	6e                   	outsb  %ds:(%esi),(%dx)
46c057:	74 72                	je     0x46c0cb
46c059:	6f                   	outsl  %ds:(%esi),(%dx)
46c05a:	6c                   	insb   (%dx),%es:(%edi)
46c05b:	20 50 61             	and    %dl,0x61(%eax)
46c05e:	6e                   	outsb  %ds:(%esi),(%dx)
46c05f:	65 6c                	gs insb (%dx),%es:(%edi)
46c061:	5c                   	pop    %esp
46c062:	44                   	inc    %esp
46c063:	65 73 6b             	gs jae 0x46c0d1
46c066:	74 6f                	je     0x46c0d7
46c068:	70 00                	jo     0x46c06a
46c06a:	00 00                	add    %al,(%eax)
46c06c:	4d                   	dec    %ebp
46c06d:	65 6e                	outsb  %gs:(%esi),(%dx)
46c06f:	75 53                	jne    0x46c0c4
46c071:	68 6f 77 44 65       	push   $0x6544776f
46c076:	6c                   	insb   (%dx),%es:(%edi)
46c077:	61                   	popa
46c078:	79 00                	jns    0x46c07a
46c07a:	00 00                	add    %al,(%eax)
46c07c:	51                   	push   %ecx
46c07d:	e8 0e b2 f9 ff       	call   0x407290
46c082:	25 ff 00 00 00       	and    $0xff,%eax
46c087:	66 83 f8 04          	cmp    $0x4,%ax
46c08b:	72 43                	jb     0x46c0d0
46c08d:	6a 00                	push   $0x0
46c08f:	8d 44 24 04          	lea    0x4(%esp),%eax
46c093:	50                   	push   %eax
46c094:	6a 00                	push   $0x0
46c096:	6a 6a                	push   $0x6a
46c098:	e8 8b bd f9 ff       	call   0x407e28
46c09d:	85 c0                	test   %eax,%eax
46c09f:	75 22                	jne    0x46c0c3
46c0a1:	80 3d ec ae 68 00 00 	cmpb   $0x0,0x68aeec
46c0a8:	75 11                	jne    0x46c0bb
46c0aa:	e8 dd fe ff ff       	call   0x46bf8c
46c0af:	a3 d0 8c 6a 00       	mov    %eax,0x6a8cd0
46c0b4:	c6 05 ec ae 68 00 01 	movb   $0x1,0x68aeec
46c0bb:	a1 d0 8c 6a 00       	mov    0x6a8cd0,%eax
46c0c0:	89 04 24             	mov    %eax,(%esp)
46c0c3:	83 3c 24 00          	cmpl   $0x0,(%esp)
46c0c7:	7d 0e                	jge    0x46c0d7
46c0c9:	33 c0                	xor    %eax,%eax
46c0cb:	89 04 24             	mov    %eax,(%esp)
46c0ce:	eb 07                	jmp    0x46c0d7
46c0d0:	c7 04 24 90 01 00 00 	movl   $0x190,(%esp)
46c0d7:	8b 04 24             	mov    (%esp),%eax
46c0da:	5a                   	pop    %edx
46c0db:	c3                   	ret
46c0dc:	51                   	push   %ecx
46c0dd:	e8 7a 0c 00 00       	call   0x46cd5c
46c0e2:	84 c0                	test   %al,%al
46c0e4:	74 1d                	je     0x46c103
46c0e6:	6a 00                	push   $0x0
46c0e8:	8d 44 24 04          	lea    0x4(%esp),%eax
46c0ec:	50                   	push   %eax
46c0ed:	6a 00                	push   $0x0
46c0ef:	68 22 10 00 00       	push   $0x1022
46c0f4:	e8 2f bd f9 ff       	call   0x407e28
46c0f9:	85 c0                	test   %eax,%eax
46c0fb:	74 06                	je     0x46c103
46c0fd:	83 3c 24 00          	cmpl   $0x0,(%esp)
46c101:	75 04                	jne    0x46c107
46c103:	33 c0                	xor    %eax,%eax
46c105:	5a                   	pop    %edx
46c106:	c3                   	ret
46c107:	b0 01                	mov    $0x1,%al
46c109:	5a                   	pop    %edx
46c10a:	c3                   	ret
46c10b:	90                   	nop
46c10c:	51                   	push   %ecx
46c10d:	a1 e8 6d 6a 00       	mov    0x6a6de8,%eax
46c112:	83 38 05             	cmpl   $0x5,(%eax)
46c115:	7c 21                	jl     0x46c138
46c117:	6a 00                	push   $0x0
46c119:	8d 44 24 04          	lea    0x4(%esp),%eax
46c11d:	50                   	push   %eax
46c11e:	6a 00                	push   $0x0
46c120:	68 0a 10 00 00       	push   $0x100a
46c125:	e8 fe bc f9 ff       	call   0x407e28
46c12a:	85 c0                	test   %eax,%eax
46c12c:	74 0a                	je     0x46c138
46c12e:	83 3c 24 00          	cmpl   $0x0,(%esp)
46c132:	75 04                	jne    0x46c138
46c134:	33 c0                	xor    %eax,%eax
46c136:	5a                   	pop    %edx
46c137:	c3                   	ret
46c138:	b0 01                	mov    $0x1,%al
46c13a:	5a                   	pop    %edx
46c13b:	c3                   	ret
46c13c:	83 c4 f0             	add    $0xfffffff0,%esp
46c13f:	54                   	push   %esp
46c140:	e8 5b bc f9 ff       	call   0x407da0
46c145:	54                   	push   %esp
46c146:	e8 9d b3 f9 ff       	call   0x4074e8
46c14b:	83 c4 10             	add    $0x10,%esp
46c14e:	c3                   	ret
46c14f:	90                   	nop
46c150:	55                   	push   %ebp
46c151:	8b ec                	mov    %esp,%ebp
46c153:	83 c4 d0             	add    $0xffffffd0,%esp
46c156:	53                   	push   %ebx
46c157:	56                   	push   %esi
46c158:	57                   	push   %edi
46c159:	8b d9                	mov    %ecx,%ebx
46c15b:	89 55 f8             	mov    %edx,-0x8(%ebp)
46c15e:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c161:	8b 75 08             	mov    0x8(%ebp),%esi
46c164:	8b 7d 0c             	mov    0xc(%ebp),%edi
46c167:	33 c0                	xor    %eax,%eax
46c169:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46c16c:	33 c0                	xor    %eax,%eax
46c16e:	89 45 e0             	mov    %eax,-0x20(%ebp)
46c171:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46c175:	75 17                	jne    0x46c18e
46c177:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c17a:	50                   	push   %eax
46c17b:	e8 20 bc f9 ff       	call   0x407da0
46c180:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c183:	50                   	push   %eax
46c184:	e8 5f b3 f9 ff       	call   0x4074e8
46c189:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c18c:	eb 47                	jmp    0x46c1d5
46c18e:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c191:	56                   	push   %esi
46c192:	57                   	push   %edi
46c193:	8b f0                	mov    %eax,%esi