46fcf3:	df e0                	fnstsw %ax
46fcf5:	9e                   	sahf
46fcf6:	75 04                	jne    0x46fcfc
46fcf8:	33 c0                	xor    %eax,%eax
46fcfa:	eb 02                	jmp    0x46fcfe
46fcfc:	b0 01                	mov    $0x1,%al
46fcfe:	88 82 e9 00 00 00    	mov    %al,0xe9(%edx)
46fd04:	c3                   	ret
46fd05:	00 00                	add    %al,(%eax)
46fd07:	00 00                	add    %al,(%eax)
46fd09:	00 00                	add    %al,(%eax)
46fd0b:	00 8b 02 89 01 8b    	add    %cl,-0x74fe76fe(%ebx)
46fd11:	42                   	inc    %edx
46fd12:	04 89                	add    $0x89,%al
46fd14:	41                   	inc    %ecx
46fd15:	04 c3                	add    $0xc3,%al
46fd17:	90                   	nop
46fd18:	55                   	push   %ebp
46fd19:	8b ec                	mov    %esp,%ebp
46fd1b:	83 c4 e0             	add    $0xffffffe0,%esp
46fd1e:	53                   	push   %ebx
46fd1f:	56                   	push   %esi
46fd20:	57                   	push   %edi
46fd21:	84 d2                	test   %dl,%dl
46fd23:	74 08                	je     0x46fd2d
46fd25:	83 c4 f0             	add    $0xfffffff0,%esp
46fd28:	e8 0b 3a f9 ff       	call   0x403738
46fd2d:	8b da                	mov    %edx,%ebx
46fd2f:	8b f0                	mov    %eax,%esi
46fd31:	33 d2                	xor    %edx,%edx
46fd33:	8b c6                	mov    %esi,%eax
46fd35:	e8 22 dc ff ff       	call   0x46d95c
46fd3a:	b2 25                	mov    $0x25,%dl
46fd3c:	8b c6                	mov    %esi,%eax
46fd3e:	e8 91 cc ff ff       	call   0x46c9d4
46fd43:	ba 08 00 00 00       	mov    $0x8,%edx
46fd48:	8b c6                	mov    %esi,%eax
46fd4a:	8b 08                	mov    (%eax),%ecx
46fd4c:	ff 91 c4 00 00 00    	call   *0xc4(%ecx)
46fd52:	56                   	push   %esi
46fd53:	be bc fd 46 00       	mov    $0x46fdbc,%esi
46fd58:	8d 7d e0             	lea    -0x20(%ebp),%edi
46fd5b:	b9 08 00 00 00       	mov    $0x8,%ecx
46fd60:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46fd62:	5e                   	pop    %esi
46fd63:	a1 c4 b4 49 00       	mov    0x49b4c4,%eax
46fd68:	8a 00                	mov    (%eax),%al
46fd6a:	25 ff 00 00 00       	and    $0xff,%eax
46fd6f:	0f ab 45 e0          	bts    %eax,-0x20(%ebp)
46fd73:	56                   	push   %esi
46fd74:	8d be 9c 00 00 00    	lea    0x9c(%esi),%edi
46fd7a:	8d 75 e0             	lea    -0x20(%ebp),%esi
46fd7d:	b9 08 00 00 00       	mov    $0x8,%ecx
46fd82:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46fd84:	5e                   	pop    %esi
46fd85:	8d 86 ec 00 00 00    	lea    0xec(%esi),%eax
46fd8b:	e8 d4 43 f9 ff       	call   0x404164
46fd90:	8d 86 f0 00 00 00    	lea    0xf0(%esi),%eax
46fd96:	e8 c9 43 f9 ff       	call   0x404164
46fd9b:	8b c6                	mov    %esi,%eax
46fd9d:	84 db                	test   %bl,%bl
46fd9f:	74 0f                	je     0x46fdb0
46fda1:	e8 ea 39 f9 ff       	call   0x403790
46fda6:	64 8f 05 00 00 00 00 	pop    %fs:0x0
46fdad:	83 c4 0c             	add    $0xc,%esp
46fdb0:	8b c6                	mov    %esi,%eax
46fdb2:	5f                   	pop    %edi
46fdb3:	5e                   	pop    %esi
46fdb4:	5b                   	pop    %ebx
46fdb5:	8b e5                	mov    %ebp,%esp
46fdb7:	5d                   	pop    %ebp
46fdb8:	c3                   	ret
46fdc1:	28 ff                	sub    %bh,%bh
46fdc3:	03 00                	add    (%eax),%eax
46fdd9:	00 00                	add    %al,(%eax)
46fddb:	00 55 8b             	add    %dl,-0x75(%ebp)
46fdde:	ec                   	in     (%dx),%al
46fddf:	6a 00                	push   $0x0
46fde1:	33 c0                	xor    %eax,%eax
46fde3:	55                   	push   %ebp
46fde4:	68 21 fe 46 00       	push   $0x46fe21
46fde9:	64 ff 30             	push   %fs:(%eax)
46fdec:	64 89 20             	mov    %esp,%fs:(%eax)
46fdef:	83 fa 40             	cmp    $0x40,%edx
46fdf2:	7e 17                	jle    0x46fe0b
46fdf4:	8d 55 fc             	lea    -0x4(%ebp),%edx
46fdf7:	a1 1c b1 49 00       	mov    0x49b11c,%eax
46fdfc:	e8 37 64 f9 ff       	call   0x406238
46fe01:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fe04:	33 d2                	xor    %edx,%edx
46fe06:	e8 75 9c ff ff       	call   0x469a80
46fe0b:	33 c0                	xor    %eax,%eax
46fe0d:	5a                   	pop    %edx
46fe0e:	59                   	pop    %ecx
46fe0f:	59                   	pop    %ecx
46fe10:	64 89 10             	mov    %edx,%fs:(%eax)
46fe13:	68 28 fe 46 00       	push   $0x46fe28
46fe18:	8d 45 fc             	lea    -0x4(%ebp),%eax
46fe1b:	e8 44 43 f9 ff       	call   0x404164
46fe20:	c3                   	ret
46fe21:	e9 42 3d f9 ff       	jmp    0x403b68
46fe26:	eb f0                	jmp    0x46fe18
46fe28:	59                   	pop    %ecx
46fe29:	5d                   	pop    %ebp
46fe2a:	c3                   	ret
46fe2b:	90                   	nop
46fe2c:	53                   	push   %ebx
46fe2d:	56                   	push   %esi
46fe2e:	57                   	push   %edi
46fe2f:	8b f2                	mov    %edx,%esi
46fe31:	8b d8                	mov    %eax,%ebx
46fe33:	8b d6                	mov    %esi,%edx
46fe35:	8b c3                	mov    %ebx,%eax
46fe37:	e8 4c 02 00 00       	call   0x470088
46fe3c:	84 c0                	test   %al,%al
46fe3e:	75 12                	jne    0x46fe52
46fe40:	a1 04 b5 49 00       	mov    0x49b504,%eax
46fe45:	8b fe                	mov    %esi,%edi
46fe47:	8b f0                	mov    %eax,%esi
46fe49:	b9 08 00 00 00       	mov    $0x8,%ecx
46fe4e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46fe50:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46fe52:	5f                   	pop    %edi
46fe53:	5e                   	pop    %esi
46fe54:	5b                   	pop    %ebx
46fe55:	c3                   	ret
46fe56:	8b c0                	mov    %eax,%eax
46fe58:	53                   	push   %ebx
46fe59:	83 c4 f8             	add    $0xfffffff8,%esp
46fe5c:	8b d8                	mov    %eax,%ebx
46fe5e:	8b c3                	mov    %ebx,%eax
46fe60:	8b 10                	mov    (%eax),%edx
46fe62:	ff 52 54             	call   *0x54(%edx)
46fe65:	d8 0d 78 fe 46 00    	fmuls  0x46fe78
46fe6b:	df 3c 24             	fistpll (%esp)
46fe6e:	9b df 2c 24          	fildll (%esp)
46fe72:	59                   	pop    %ecx
46fe73:	5a                   	pop    %edx
46fe74:	5b                   	pop    %ebx
46fe75:	c3                   	ret
46fe76:	00 00                	add    %al,(%eax)
46fe78:	00 40 1c             	add    %al,0x1c(%eax)
46fe7b:	46                   	inc    %esi
46fe7c:	53                   	push   %ebx
46fe7d:	83 c4 d4             	add    $0xffffffd4,%esp
46fe80:	8b d8                	mov    %eax,%ebx
46fe82:	8d 54 24 08          	lea    0x8(%esp),%edx
46fe86:	8b c3                	mov    %ebx,%eax
46fe88:	e8 fb 01 00 00       	call   0x470088
46fe8d:	84 c0                	test   %al,%al
46fe8f:	75 0b                	jne    0x46fe9c
46fe91:	33 c0                	xor    %eax,%eax
46fe93:	89 04 24             	mov    %eax,(%esp)
46fe96:	89 44 24 04          	mov    %eax,0x4(%esp)
46fe9a:	eb 0d                	jmp    0x46fea9
46fe9c:	8d 44 24 08          	lea    0x8(%esp),%eax
46fea0:	e8 77 f9 fe ff       	call   0x45f81c
46fea5:	dd 1c 24             	fstpl  (%esp)
46fea8:	9b dd 04 24          	fldl   (%esp)
46feac:	83 c4 2c             	add    $0x2c,%esp
46feaf:	5b                   	pop    %ebx
46feb0:	c3                   	ret
46feb1:	8d 40 00             	lea    0x0(%eax),%eax
46feb4:	53                   	push   %ebx
46feb5:	8b d8                	mov    %eax,%ebx
46feb7:	8b c3                	mov    %ebx,%eax
46feb9:	8b 10                	mov    (%eax),%edx
46febb:	ff 52 54             	call   *0x54(%edx)
46febe:	e8 65 2c f9 ff       	call   0x402b28
46fec3:	5b                   	pop    %ebx
46fec4:	c3                   	ret
46fec5:	8d 40 00             	lea    0x0(%eax),%eax
46fec8:	53                   	push   %ebx
46fec9:	56                   	push   %esi
46feca:	83 c4 dc             	add    $0xffffffdc,%esp
46fecd:	8b f2                	mov    %edx,%esi
46fecf:	8b d8                	mov    %eax,%ebx
46fed1:	8b d4                	mov    %esp,%edx
46fed3:	8b c3                	mov    %ebx,%eax
46fed5:	e8 ae 01 00 00       	call   0x470088
46feda:	84 c0                	test   %al,%al
46fedc:	74 0b                	je     0x46fee9
46fede:	8b d6                	mov    %esi,%edx
46fee0:	8b c4                	mov    %esp,%eax
46fee2:	e8 a9 20 ff ff       	call   0x461f90
46fee7:	eb 07                	jmp    0x46fef0
46fee9:	8b c6                	mov    %esi,%eax
46feeb:	e8 74 42 f9 ff       	call   0x404164
46fef0:	83 c4 24             	add    $0x24,%esp
46fef3:	5e                   	pop    %esi
46fef4:	5b                   	pop    %ebx
46fef5:	c3                   	ret
46fef6:	8b c0                	mov    %eax,%eax
46fef8:	53                   	push   %ebx
46fef9:	56                   	push   %esi
46fefa:	83 c4 dc             	add    $0xffffffdc,%esp
46fefd:	8b f2                	mov    %edx,%esi
46feff:	8b d8                	mov    %eax,%ebx
46ff01:	8b d4                	mov    %esp,%edx
46ff03:	8b c3                	mov    %ebx,%eax
46ff05:	e8 7e 01 00 00       	call   0x470088
46ff0a:	84 c0                	test   %al,%al
46ff0c:	74 0b                	je     0x46ff19
46ff0e:	8b d6                	mov    %esi,%edx
46ff10:	8b c4                	mov    %esp,%eax
46ff12:	e8 fd f7 fe ff       	call   0x45f714
46ff17:	eb 07                	jmp    0x46ff20
46ff19:	8b c6                	mov    %esi,%eax
46ff1b:	e8 24 73 fa ff       	call   0x417244
46ff20:	83 c4 24             	add    $0x24,%esp
46ff23:	5e                   	pop    %esi
46ff24:	5b                   	pop    %ebx
46ff25:	c3                   	ret
46ff26:	8b c0                	mov    %eax,%eax
46ff28:	b8 22 00 00 00       	mov    $0x22,%eax
46ff2d:	c3                   	ret
46ff2e:	8b c0                	mov    %eax,%eax
46ff30:	8b 90 f4 00 00 00    	mov    0xf4(%eax),%edx
46ff36:	85 d2                	test   %edx,%edx
46ff38:	7e 04                	jle    0x46ff3e
46ff3a:	42                   	inc    %edx
46ff3b:	8b c2                	mov    %edx,%eax
46ff3d:	c3                   	ret
46ff3e:	e8 31 c0 ff ff       	call   0x46bf74
46ff43:	c3                   	ret
46ff44:	55                   	push   %ebp
46ff45:	8b ec                	mov    %esp,%ebp
46ff47:	83 c4 cc             	add    $0xffffffcc,%esp
46ff4a:	53                   	push   %ebx
46ff4b:	56                   	push   %esi
46ff4c:	57                   	push   %edi
46ff4d:	33 db                	xor    %ebx,%ebx
46ff4f:	89 5d cc             	mov    %ebx,-0x34(%ebp)
46ff52:	89 5d d0             	mov    %ebx,-0x30(%ebp)
46ff55:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46ff58:	8b d9                	mov    %ecx,%ebx
46ff5a:	89 55 fc             	mov    %edx,-0x4(%ebp)
46ff5d:	8b f0                	mov    %eax,%esi
46ff5f:	33 c0                	xor    %eax,%eax
46ff61:	55                   	push   %ebp
46ff62:	68 77 00 47 00       	push   $0x470077
46ff67:	64 ff 30             	push   %fs:(%eax)
46ff6a:	64 89 20             	mov    %esp,%fs:(%eax)
46ff6d:	33 d2                	xor    %edx,%edx
46ff6f:	55                   	push   %ebp
46ff70:	68 31 00 47 00       	push   $0x470031
46ff75:	64 ff 32             	push   %fs:(%edx)
46ff78:	64 89 22             	mov    %esp,%fs:(%edx)
46ff7b:	8d 55 d6             	lea    -0x2a(%ebp),%edx
46ff7e:	33 c9                	xor    %ecx,%ecx
46ff80:	8b c6                	mov    %esi,%eax
46ff82:	e8 29 bf ff ff       	call   0x46beb0
46ff87:	84 c0                	test   %al,%al
46ff89:	0f 84 90 00 00 00    	je     0x47001f
46ff8f:	84 db                	test   %bl,%bl
46ff91:	75 09                	jne    0x46ff9c
46ff93:	83 be e4 00 00 00 00 	cmpl   $0x0,0xe4(%esi)
46ff9a:	75 10                	jne    0x46ffac
46ff9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ff9f:	8b 96 e0 00 00 00    	mov    0xe0(%esi),%edx
46ffa5:	e8 52 42 f9 ff       	call   0x4041fc
46ffaa:	eb 0e                	jmp    0x46ffba
46ffac:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ffaf:	8b 96 e4 00 00 00    	mov    0xe4(%esi),%edx
46ffb5:	e8 42 42 f9 ff       	call   0x4041fc
46ffba:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46ffbe:	75 44                	jne    0x470004
46ffc0:	80 be e8 00 00 00 00 	cmpb   $0x0,0xe8(%esi)
46ffc7:	74 15                	je     0x46ffde
46ffc9:	84 db                	test   %bl,%bl
46ffcb:	74 04                	je     0x46ffd1
46ffcd:	b3 04                	mov    $0x4,%bl
46ffcf:	eb 02                	jmp    0x46ffd3
46ffd1:	b3 02                	mov    $0x2,%bl
46ffd3:	8b 3d 00 b1 49 00    	mov    0x49b100,%edi
46ffd9:	0f b6 3f             	movzbl (%edi),%edi
46ffdc:	eb 04                	jmp    0x46ffe2
46ffde:	33 db                	xor    %ebx,%ebx
46ffe0:	33 ff                	xor    %edi,%edi
46ffe2:	57                   	push   %edi
46ffe3:	8d 45 d0             	lea    -0x30(%ebp),%eax
46ffe6:	50                   	push   %eax
46ffe7:	8b 8e f4 00 00 00    	mov    0xf4(%esi),%ecx
46ffed:	8d 45 d6             	lea    -0x2a(%ebp),%eax
46fff0:	8b d3                	mov    %ebx,%edx
46fff2:	e8 25 2a ff ff       	call   0x462a1c
46fff7:	8b 55 d0             	mov    -0x30(%ebp),%edx
46fffa:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fffd:	e8 b6 41 f9 ff       	call   0x4041b8
470002:	eb 23                	jmp    0x470027
470004:	8d 4d cc             	lea    -0x34(%ebp),%ecx
470007:	8d 55 d6             	lea    -0x2a(%ebp),%edx
47000a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47000d:	e8 c6 34 ff ff       	call   0x4634d8
470012:	8b 55 cc             	mov    -0x34(%ebp),%edx
470015:	8b 45 fc             	mov    -0x4(%ebp),%eax
470018:	e8 9b 41 f9 ff       	call   0x4041b8
47001d:	eb 08                	jmp    0x470027
47001f:	8b 45 fc             	mov    -0x4(%ebp),%eax
470022:	e8 3d 41 f9 ff       	call   0x404164
470027:	33 c0                	xor    %eax,%eax
470029:	5a                   	pop    %edx
47002a:	59                   	pop    %ecx
47002b:	59                   	pop    %ecx
47002c:	64 89 10             	mov    %edx,%fs:(%eax)
47002f:	eb 23                	jmp    0x470054
470031:	e9 aa 39 f9 ff       	jmp    0x4039e0
470036:	01 00                	add    %eax,(%eax)
470038:	00 00                	add    %al,(%eax)
47003a:	a0 76 40 00 42       	mov    0x42004076,%al
47003f:	00 47 00             	add    %al,0x0(%edi)
470042:	8b 55 fc             	mov    -0x4(%ebp),%edx
470045:	a1 e0 b1 49 00       	mov    0x49b1e0,%eax
47004a:	e8 e9 61 f9 ff       	call   0x406238
47004f:	e8 c8 3b f9 ff       	call   0x403c1c
470054:	33 c0                	xor    %eax,%eax
470056:	5a                   	pop    %edx
470057:	59                   	pop    %ecx
470058:	59                   	pop    %ecx
470059:	64 89 10             	mov    %edx,%fs:(%eax)
47005c:	68 7e 00 47 00       	push   $0x47007e
470061:	8d 45 cc             	lea    -0x34(%ebp),%eax
470064:	ba 02 00 00 00       	mov    $0x2,%edx
470069:	e8 1a 41 f9 ff       	call   0x404188
47006e:	8d 45 f8             	lea    -0x8(%ebp),%eax
470071:	e8 ee 40 f9 ff       	call   0x404164
470076:	c3                   	ret
470077:	e9 ec 3a f9 ff       	jmp    0x403b68
47007c:	eb e3                	jmp    0x470061
47007e:	5f                   	pop    %edi
47007f:	5e                   	pop    %esi
470080:	5b                   	pop    %ebx
470081:	8b e5                	mov    %ebp,%esp
470083:	5d                   	pop    %ebp
470084:	c3                   	ret
470085:	8d 40 00             	lea    0x0(%eax),%eax
470088:	33 c9                	xor    %ecx,%ecx
47008a:	e8 21 be ff ff       	call   0x46beb0
47008f:	c3                   	ret
470090:	55                   	push   %ebp
470091:	8b ec                	mov    %esp,%ebp
470093:	83 c4 c4             	add    $0xffffffc4,%esp
470096:	53                   	push   %ebx
470097:	56                   	push   %esi
470098:	57                   	push   %edi
470099:	33 db                	xor    %ebx,%ebx
47009b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
47009e:	8b f2                	mov    %edx,%esi
4700a0:	8d 7d e8             	lea    -0x18(%ebp),%edi
4700a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)