460d6d:	e8 2d 0b 00 00       	call   0x46189f
460d72:	c6 46 1a 01          	movb   $0x1,0x1a(%esi)
460d76:	e9 9f 00 00 00       	jmp    0x460e1a
460d7b:	80 7e 1a 00          	cmpb   $0x0,0x1a(%esi)
460d7f:	0f 84 3f 01 00 00    	je     0x460ec4
460d85:	6a 10                	push   $0x10
460d87:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460d8a:	e8 10 0b 00 00       	call   0x46189f
460d8f:	e9 72 ff ff ff       	jmp    0x460d06
460d94:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
460d98:	0f 85 26 01 00 00    	jne    0x460ec4
460d9e:	6a 11                	push   $0x11
460da0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460da3:	e8 f7 0a 00 00       	call   0x46189f
460da8:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
460dac:	eb 6c                	jmp    0x460e1a
460dae:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
460db2:	0f 84 0c 01 00 00    	je     0x460ec4
460db8:	6a 11                	push   $0x11
460dba:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460dbd:	e8 dd 0a 00 00       	call   0x46189f
460dc2:	c6 46 1c 00          	movb   $0x0,0x1c(%esi)
460dc6:	e9 ee 00 00 00       	jmp    0x460eb9
460dcb:	80 7e 1e 00          	cmpb   $0x0,0x1e(%esi)
460dcf:	0f 85 ef 00 00 00    	jne    0x460ec4
460dd5:	6a 5b                	push   $0x5b
460dd7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460dda:	e8 c0 0a 00 00       	call   0x46189f
460ddf:	c6 46 1e 01          	movb   $0x1,0x1e(%esi)
460de3:	eb 35                	jmp    0x460e1a
460de5:	80 7e 1e 00          	cmpb   $0x0,0x1e(%esi)
460de9:	0f 84 d5 00 00 00    	je     0x460ec4
460def:	6a 5b                	push   $0x5b
460df1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460df4:	e8 a6 0a 00 00       	call   0x46189f
460df9:	c6 46 1e 00          	movb   $0x0,0x1e(%esi)
460dfd:	e9 b7 00 00 00       	jmp    0x460eb9
460e02:	80 7e 1f 00          	cmpb   $0x0,0x1f(%esi)
460e06:	0f 85 b8 00 00 00    	jne    0x460ec4
460e0c:	6a 5c                	push   $0x5c
460e0e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460e11:	e8 89 0a 00 00       	call   0x46189f
460e16:	c6 46 1f 01          	movb   $0x1,0x1f(%esi)
460e1a:	8d 45 dc             	lea    -0x24(%ebp),%eax
460e1d:	8b ce                	mov    %esi,%ecx
460e1f:	50                   	push   %eax
460e20:	e8 c1 01 00 00       	call   0x460fe6
460e25:	e9 9a 00 00 00       	jmp    0x460ec4
460e2a:	80 7e 1f 00          	cmpb   $0x0,0x1f(%esi)
460e2e:	0f 84 90 00 00 00    	je     0x460ec4
460e34:	6a 5c                	push   $0x5c
460e36:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460e39:	e8 61 0a 00 00       	call   0x46189f
460e3e:	c6 46 1f 00          	movb   $0x0,0x1f(%esi)
460e42:	eb 75                	jmp    0x460eb9
460e44:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
460e48:	74 0c                	je     0x460e56
460e4a:	6a 01                	push   $0x1
460e4c:	53                   	push   %ebx
460e4d:	8b ce                	mov    %esi,%ecx
460e4f:	e8 62 fa ff ff       	call   0x4608b6
460e54:	eb 6e                	jmp    0x460ec4
460e56:	80 7e 1d 00          	cmpb   $0x0,0x1d(%esi)
460e5a:	75 15                	jne    0x460e71
460e5c:	6a 12                	push   $0x12
460e5e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460e61:	e8 39 0a 00 00       	call   0x46189f
460e66:	8d 45 dc             	lea    -0x24(%ebp),%eax
460e69:	8b ce                	mov    %esi,%ecx
460e6b:	50                   	push   %eax
460e6c:	e8 75 01 00 00       	call   0x460fe6
460e71:	33 db                	xor    %ebx,%ebx
460e73:	8b fb                	mov    %ebx,%edi
460e75:	57                   	push   %edi
460e76:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460e79:	e8 d4 6c fa ff       	call   0x407b52
460e7e:	66 39 18             	cmp    %bx,(%eax)
460e81:	74 27                	je     0x460eaa
460e83:	57                   	push   %edi
460e84:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460e87:	e8 c6 6c fa ff       	call   0x407b52
460e8c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460e8f:	8a 00                	mov    (%eax),%al
460e91:	04 30                	add    $0x30,%al
460e93:	0f b6 c0             	movzbl %al,%eax
460e96:	50                   	push   %eax
460e97:	e8 03 0a 00 00       	call   0x46189f
460e9c:	8d 45 dc             	lea    -0x24(%ebp),%eax
460e9f:	8b ce                	mov    %esi,%ecx
460ea1:	50                   	push   %eax
460ea2:	e8 b2 03 00 00       	call   0x461259
460ea7:	47                   	inc    %edi
460ea8:	eb cb                	jmp    0x460e75
460eaa:	38 5e 1d             	cmp    %bl,0x1d(%esi)
460ead:	75 15                	jne    0x460ec4
460eaf:	6a 12                	push   $0x12
460eb1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
460eb4:	e8 e6 09 00 00       	call   0x46189f
460eb9:	8d 45 dc             	lea    -0x24(%ebp),%eax
460ebc:	8b ce                	mov    %esi,%ecx
460ebe:	50                   	push   %eax
460ebf:	e8 5d 02 00 00       	call   0x461121
460ec4:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460ec7:	e8 98 4b fa ff       	call   0x405a64
460ecc:	8d 4d bc             	lea    -0x44(%ebp),%ecx
460ecf:	e8 90 4b fa ff       	call   0x405a64
460ed4:	5f                   	pop    %edi
460ed5:	5e                   	pop    %esi
460ed6:	5b                   	pop    %ebx
460ed7:	8b e5                	mov    %ebp,%esp
460ed9:	5d                   	pop    %ebp
460eda:	c2 04 00             	ret    $0x4
460edd:	8b ff                	mov    %edi,%edi
460edf:	94                   	xchg   %eax,%esp
460ee0:	0d 46 00 ae 0d       	or     $0xdae0046,%eax
460ee5:	46                   	inc    %esi
460ee6:	00 a4 0c 46 00 c1 0c 	add    %ah,0xcc10046(%esp,%ecx,1)
460eed:	46                   	inc    %esi
460eee:	00 5e 0d             	add    %bl,0xd(%esi)
460ef1:	46                   	inc    %esi
460ef2:	00 7b 0d             	add    %bh,0xd(%ebx)
460ef5:	46                   	inc    %esi
460ef6:	00 cb                	add    %cl,%bl
460ef8:	0d 46 00 e5 0d       	or     $0xde50046,%eax
460efd:	46                   	inc    %esi
460efe:	00 02                	add    %al,(%edx)
460f00:	0e                   	push   %cs
460f01:	46                   	inc    %esi
460f02:	00 2a                	add    %ch,(%edx)
460f04:	0e                   	push   %cs
460f05:	46                   	inc    %esi
460f06:	00 44 0e 46          	add    %al,0x46(%esi,%ecx,1)
460f0a:	00 77 0c             	add    %dh,0xc(%edi)
460f0d:	46                   	inc    %esi
460f0e:	00 3e                	add    %bh,(%esi)
460f10:	0c 46                	or     $0x46,%al
460f12:	00 d7                	add    %dl,%bh
460f14:	0c 46                	or     $0x46,%al
460f16:	00 0f                	add    %cl,(%edi)
460f18:	0d 46 00 55 8b       	or     $0x8b550046,%eax
460f1d:	ec                   	in     (%dx),%al
460f1e:	83 ec 14             	sub    $0x14,%esp
460f21:	56                   	push   %esi
460f22:	57                   	push   %edi
460f23:	8b 7d 0c             	mov    0xc(%ebp),%edi
460f26:	8b f1                	mov    %ecx,%esi
460f28:	85 ff                	test   %edi,%edi
460f2a:	7e 47                	jle    0x460f73
460f2c:	53                   	push   %ebx
460f2d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
460f30:	e8 60 f2 ff ff       	call   0x460195
460f35:	ff 75 08             	push   0x8(%ebp)
460f38:	e8 62 09 00 00       	call   0x46189f
460f3d:	33 c0                	xor    %eax,%eax
460f3f:	8b ce                	mov    %esi,%ecx
460f41:	89 45 f8             	mov    %eax,-0x8(%ebp)
460f44:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
460f48:	8d 45 f8             	lea    -0x8(%ebp),%eax
460f4b:	50                   	push   %eax
460f4c:	e8 db f5 ff ff       	call   0x46052c
460f51:	8d 5e 14             	lea    0x14(%esi),%ebx
460f54:	8b ce                	mov    %esi,%ecx
460f56:	53                   	push   %ebx
460f57:	e8 1a 03 00 00       	call   0x461276
460f5c:	8d 45 ec             	lea    -0x14(%ebp),%eax
460f5f:	8b ce                	mov    %esi,%ecx
460f61:	50                   	push   %eax
460f62:	e8 f2 02 00 00       	call   0x461259
460f67:	4f                   	dec    %edi
460f68:	75 f2                	jne    0x460f5c
460f6a:	53                   	push   %ebx
460f6b:	8b ce                	mov    %esi,%ecx
460f6d:	e8 eb 04 00 00       	call   0x46145d
460f72:	5b                   	pop    %ebx
460f73:	5f                   	pop    %edi
460f74:	5e                   	pop    %esi
460f75:	8b e5                	mov    %ebp,%esp
460f77:	5d                   	pop    %ebp
460f78:	c2 08 00             	ret    $0x8
460f7b:	55                   	push   %ebp
460f7c:	8b ec                	mov    %esp,%ebp
460f7e:	51                   	push   %ecx
460f7f:	8b 45 08             	mov    0x8(%ebp),%eax
460f82:	53                   	push   %ebx
460f83:	57                   	push   %edi
460f84:	0f b6 f8             	movzbl %al,%edi
460f87:	57                   	push   %edi
460f88:	89 4d fc             	mov    %ecx,-0x4(%ebp)
460f8b:	ff 15 fc f5 48 00    	call   *0x48f5fc
460f91:	66 8b d8             	mov    %ax,%bx
460f94:	80 e3 01             	and    $0x1,%bl
460f97:	38 5d 0c             	cmp    %bl,0xc(%ebp)
460f9a:	74 40                	je     0x460fdc
460f9c:	56                   	push   %esi
460f9d:	8b 35 8c f6 48 00    	mov    0x48f68c,%esi
460fa3:	51                   	push   %ecx
460fa4:	6a 00                	push   $0x0
460fa6:	6a 00                	push   $0x0
460fa8:	57                   	push   %edi
460fa9:	ff d6                	call   *%esi
460fab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460fae:	50                   	push   %eax
460faf:	ff 75 08             	push   0x8(%ebp)
460fb2:	e8 20 08 00 00       	call   0x4617d7
460fb7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460fba:	e8 3f f2 ff ff       	call   0x4601fe
460fbf:	51                   	push   %ecx
460fc0:	6a 02                	push   $0x2
460fc2:	6a 00                	push   $0x0
460fc4:	57                   	push   %edi
460fc5:	ff d6                	call   *%esi
460fc7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460fca:	50                   	push   %eax
460fcb:	ff 75 08             	push   0x8(%ebp)
460fce:	e8 04 08 00 00       	call   0x4617d7
460fd3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
460fd6:	e8 0a f2 ff ff       	call   0x4601e5
460fdb:	5e                   	pop    %esi
460fdc:	5f                   	pop    %edi
460fdd:	8a c3                	mov    %bl,%al
460fdf:	5b                   	pop    %ebx
460fe0:	8b e5                	mov    %ebp,%esp
460fe2:	5d                   	pop    %ebp
460fe3:	c2 08 00             	ret    $0x8
460fe6:	55                   	push   %ebp
460fe7:	8b ec                	mov    %esp,%ebp
460fe9:	81 ec 20 01 00 00    	sub    $0x120,%esp
460fef:	53                   	push   %ebx
460ff0:	56                   	push   %esi
460ff1:	57                   	push   %edi
460ff2:	8b 7d 08             	mov    0x8(%ebp),%edi
460ff5:	8b f1                	mov    %ecx,%esi
460ff7:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
460ffb:	8a 1f                	mov    (%edi),%bl
460ffd:	8a 7f 07             	mov    0x7(%edi),%bh
461000:	0f b7 47 08          	movzwl 0x8(%edi),%eax
461004:	88 5d fc             	mov    %bl,-0x4(%ebp)
461007:	88 7d 08             	mov    %bh,0x8(%ebp)
46100a:	0f 84 b1 00 00 00    	je     0x4610c1
461010:	80 fb 14             	cmp    $0x14,%bl
461013:	0f 84 a8 00 00 00    	je     0x4610c1
461019:	80 fb 90             	cmp    $0x90,%bl
46101c:	0f 84 9f 00 00 00    	je     0x4610c1
461022:	80 fb 91             	cmp    $0x91,%bl
461025:	0f 84 96 00 00 00    	je     0x4610c1
46102b:	80 fb ff             	cmp    $0xff,%bl
46102e:	74 7e                	je     0x4610ae
461030:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
461036:	50                   	push   %eax
461037:	ff 15 f8 f5 48 00    	call   *0x48f5f8
46103d:	85 c0                	test   %eax,%eax
46103f:	74 18                	je     0x461059
461041:	0f b6 c3             	movzbl %bl,%eax
461044:	80 8c 05 e0 fe ff ff 	orb    $0x80,-0x120(%ebp,%eax,1)
46104b:	80
46104c:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
461052:	50                   	push   %eax
461053:	ff 15 f4 f5 48 00    	call   *0x48f5f4
461059:	0f b6 d7             	movzbl %bh,%edx
46105c:	8b cf                	mov    %edi,%ecx
46105e:	c1 e2 10             	shl    $0x10,%edx
461061:	83 ca 01             	or     $0x1,%edx
461064:	e8 c5 f3 ff ff       	call   0x46042e
461069:	3c 01                	cmp    $0x1,%al
46106b:	75 06                	jne    0x461073
46106d:	81 ca 00 00 00 01    	or     $0x1000000,%edx
461073:	80 7e 17 00          	cmpb   $0x0,0x17(%esi)
461077:	75 0b                	jne    0x461084
461079:	80 7e 1d 00          	cmpb   $0x0,0x1d(%esi)
46107d:	75 05                	jne    0x461084
46107f:	80 fb 12             	cmp    $0x12,%bl
461082:	75 1e                	jne    0x4610a2
461084:	80 7e 16 00          	cmpb   $0x0,0x16(%esi)
461088:	75 18                	jne    0x4610a2
46108a:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
46108e:	75 12                	jne    0x4610a2
461090:	81 ca 00 00 00 20    	or     $0x20000000,%edx
461096:	0f b6 c3             	movzbl %bl,%eax
461099:	52                   	push   %edx
46109a:	50                   	push   %eax
46109b:	68 04 01 00 00       	push   $0x104
4610a0:	eb 14                	jmp    0x4610b6
4610a2:	52                   	push   %edx
4610a3:	0f b6 c3             	movzbl %bl,%eax
4610a6:	50                   	push   %eax
4610a7:	68 00 01 00 00       	push   $0x100
4610ac:	eb 08                	jmp    0x4610b6
4610ae:	6a 01                	push   $0x1
4610b0:	50                   	push   %eax
4610b1:	68 02 01 00 00       	push   $0x102
4610b6:	ff 76 20             	push   0x20(%esi)
4610b9:	ff 15 90 f6 48 00    	call   *0x48f690
4610bf:	eb 50                	jmp    0x461111
4610c1:	80 fb ff             	cmp    $0xff,%bl
4610c4:	74 21                	je     0x4610e7
4610c6:	8b cf                	mov    %edi,%ecx
4610c8:	e8 61 f3 ff ff       	call   0x46042e
4610cd:	51                   	push   %ecx
4610ce:	8b ce                	mov    %esi,%ecx
4610d0:	3c 01                	cmp    $0x1,%al
4610d2:	75 04                	jne    0x4610d8
4610d4:	6a 01                	push   $0x1
4610d6:	eb 02                	jmp    0x4610da
4610d8:	6a 00                	push   $0x0
4610da:	ff 75 08             	push   0x8(%ebp)
4610dd:	ff 75 fc             	push   -0x4(%ebp)
4610e0:	e8 f2 06 00 00       	call   0x4617d7
4610e5:	eb 2a                	jmp    0x461111
4610e7:	66 89 45 e6          	mov    %ax,-0x1a(%ebp)
4610eb:	33 d2                	xor    %edx,%edx
4610ed:	6a 1c                	push   $0x1c
4610ef:	8d 45 e0             	lea    -0x20(%ebp),%eax
4610f2:	c7 45 e8 04 00 00 00 	movl   $0x4,-0x18(%ebp)
4610f9:	42                   	inc    %edx
4610fa:	33 c9                	xor    %ecx,%ecx
4610fc:	21 4d ec             	and    %ecx,-0x14(%ebp)
4610ff:	21 4d f0             	and    %ecx,-0x10(%ebp)
461102:	50                   	push   %eax
461103:	52                   	push   %edx
461104:	89 55 e0             	mov    %edx,-0x20(%ebp)
461107:	66 89 4d e4          	mov    %cx,-0x1c(%ebp)
46110b:	ff 15 ec f5 48 00    	call   *0x48f5ec
461111:	8b ce                	mov    %esi,%ecx
461113:	e8 e6 f0 ff ff       	call   0x4601fe
461118:	5f                   	pop    %edi
461119:	5e                   	pop    %esi
46111a:	5b                   	pop    %ebx
46111b:	8b e5                	mov    %ebp,%esp
46111d:	5d                   	pop    %ebp
46111e:	c2 04 00             	ret    $0x4
461121:	55                   	push   %ebp
461122:	8b ec                	mov    %esp,%ebp
461124:	81 ec 20 01 00 00    	sub    $0x120,%esp
46112a:	53                   	push   %ebx
46112b:	56                   	push   %esi
46112c:	57                   	push   %edi
46112d:	8b 7d 08             	mov    0x8(%ebp),%edi
461130:	8b f1                	mov    %ecx,%esi
461132:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
461136:	8a 1f                	mov    (%edi),%bl
461138:	8a 7f 07             	mov    0x7(%edi),%bh
46113b:	0f b7 47 08          	movzwl 0x8(%edi),%eax
46113f:	88 5d fc             	mov    %bl,-0x4(%ebp)
461142:	88 7d 08             	mov    %bh,0x8(%ebp)
461145:	0f 84 ae 00 00 00    	je     0x4611f9
46114b:	80 fb 14             	cmp    $0x14,%bl
46114e:	0f 84 a5 00 00 00    	je     0x4611f9
461154:	80 fb 90             	cmp    $0x90,%bl
461157:	0f 84 9c 00 00 00    	je     0x4611f9
46115d:	80 fb 91             	cmp    $0x91,%bl