47ef30:	75 07                	jne    0x47ef39
47ef32:	33 c0                	xor    %eax,%eax
47ef34:	66 89 01             	mov    %ax,(%ecx)
47ef37:	eb e6                	jmp    0x47ef1f
47ef39:	8b 75 10             	mov    0x10(%ebp),%esi
47ef3c:	85 f6                	test   %esi,%esi
47ef3e:	75 1b                	jne    0x47ef5b
47ef40:	33 c0                	xor    %eax,%eax
47ef42:	66 89 01             	mov    %ax,(%ecx)
47ef45:	e8 e5 de fc ff       	call   0x44ce2f
47ef4a:	6a 16                	push   $0x16
47ef4c:	5e                   	pop    %esi
47ef4d:	89 30                	mov    %esi,(%eax)
47ef4f:	e8 82 dd fc ff       	call   0x44ccd6
47ef54:	8b c6                	mov    %esi,%eax
47ef56:	5e                   	pop    %esi
47ef57:	8b e5                	mov    %ebp,%esp
47ef59:	5d                   	pop    %ebp
47ef5a:	c3                   	ret
47ef5b:	53                   	push   %ebx
47ef5c:	2b f1                	sub    %ecx,%esi
47ef5e:	8b d8                	mov    %eax,%ebx
47ef60:	57                   	push   %edi
47ef61:	8b f9                	mov    %ecx,%edi
47ef63:	83 fa ff             	cmp    $0xffffffff,%edx
47ef66:	75 16                	jne    0x47ef7e
47ef68:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
47ef6c:	66 89 07             	mov    %ax,(%edi)
47ef6f:	8d 7f 02             	lea    0x2(%edi),%edi
47ef72:	66 85 c0             	test   %ax,%ax
47ef75:	74 2c                	je     0x47efa3
47ef77:	83 eb 01             	sub    $0x1,%ebx
47ef7a:	75 ec                	jne    0x47ef68
47ef7c:	eb 25                	jmp    0x47efa3
47ef7e:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
47ef82:	66 89 07             	mov    %ax,(%edi)
47ef85:	8d 7f 02             	lea    0x2(%edi),%edi
47ef88:	66 85 c0             	test   %ax,%ax
47ef8b:	74 0a                	je     0x47ef97
47ef8d:	83 eb 01             	sub    $0x1,%ebx
47ef90:	74 05                	je     0x47ef97
47ef92:	83 ea 01             	sub    $0x1,%edx
47ef95:	75 e7                	jne    0x47ef7e
47ef97:	85 d2                	test   %edx,%edx
47ef99:	8b 55 14             	mov    0x14(%ebp),%edx
47ef9c:	75 05                	jne    0x47efa3
47ef9e:	33 c0                	xor    %eax,%eax
47efa0:	66 89 07             	mov    %ax,(%edi)
47efa3:	5f                   	pop    %edi
47efa4:	85 db                	test   %ebx,%ebx
47efa6:	5b                   	pop    %ebx
47efa7:	0f 85 72 ff ff ff    	jne    0x47ef1f
47efad:	83 fa ff             	cmp    $0xffffffff,%edx
47efb0:	75 0f                	jne    0x47efc1
47efb2:	8b 45 0c             	mov    0xc(%ebp),%eax
47efb5:	33 d2                	xor    %edx,%edx
47efb7:	6a 50                	push   $0x50
47efb9:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
47efbe:	58                   	pop    %eax
47efbf:	eb 95                	jmp    0x47ef56
47efc1:	33 c0                	xor    %eax,%eax
47efc3:	66 89 01             	mov    %ax,(%ecx)
47efc6:	e8 64 de fc ff       	call   0x44ce2f
47efcb:	6a 22                	push   $0x22
47efcd:	e9 7a ff ff ff       	jmp    0x47ef4c
47efd2:	8b ff                	mov    %edi,%edi
47efd4:	55                   	push   %ebp
47efd5:	8b ec                	mov    %esp,%ebp
47efd7:	5d                   	pop    %ebp
47efd8:	e9 28 ff ff ff       	jmp    0x47ef05
47efdd:	8b ff                	mov    %edi,%edi
47efdf:	55                   	push   %ebp
47efe0:	8b ec                	mov    %esp,%ebp
47efe2:	53                   	push   %ebx
47efe3:	e8 d5 d8 ff ff       	call   0x47c8bd
47efe8:	83 f8 02             	cmp    $0x2,%eax
47efeb:	0f 94 c3             	sete   %bl
47efee:	ff 15 cc 40 49 00    	call   *0x4940cc
47eff4:	85 c0                	test   %eax,%eax
47eff6:	74 18                	je     0x47f010
47eff8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
47effc:	74 09                	je     0x47f007
47effe:	ff 75 08             	push   0x8(%ebp)
47f001:	ff 15 14 40 49 00    	call   *0x494014
47f007:	84 db                	test   %bl,%bl
47f009:	74 44                	je     0x47f04f
47f00b:	6a 04                	push   $0x4
47f00d:	58                   	pop    %eax
47f00e:	eb 4e                	jmp    0x47f05e
47f010:	84 db                	test   %bl,%bl
47f012:	74 3b                	je     0x47f04f
47f014:	e8 ca 66 ff ff       	call   0x4756e3
47f019:	84 c0                	test   %al,%al
47f01b:	74 32                	je     0x47f04f
47f01d:	e8 dc 67 ff ff       	call   0x4757fe
47f022:	84 c0                	test   %al,%al
47f024:	75 18                	jne    0x47f03e
47f026:	8b 45 10             	mov    0x10(%ebp),%eax
47f029:	0d 00 00 20 00       	or     $0x200000,%eax
47f02e:	50                   	push   %eax
47f02f:	ff 75 0c             	push   0xc(%ebp)
47f032:	ff 75 08             	push   0x8(%ebp)
47f035:	6a 00                	push   $0x0
47f037:	e8 d1 64 ff ff       	call   0x47550d
47f03c:	eb 20                	jmp    0x47f05e
47f03e:	e8 16 67 ff ff       	call   0x475759
47f043:	ff 75 10             	push   0x10(%ebp)
47f046:	ff 75 0c             	push   0xc(%ebp)
47f049:	ff 75 08             	push   0x8(%ebp)
47f04c:	50                   	push   %eax
47f04d:	eb e8                	jmp    0x47f037
47f04f:	ff 15 cc 40 49 00    	call   *0x4940cc
47f055:	f7 d8                	neg    %eax
47f057:	1b c0                	sbb    %eax,%eax
47f059:	f7 d8                	neg    %eax
47f05b:	83 c0 03             	add    $0x3,%eax
47f05e:	5b                   	pop    %ebx
47f05f:	5d                   	pop    %ebp
47f060:	c3                   	ret
47f061:	8b ff                	mov    %edi,%edi
47f063:	55                   	push   %ebp
47f064:	8b ec                	mov    %esp,%ebp
47f066:	53                   	push   %ebx
47f067:	e8 51 d8 ff ff       	call   0x47c8bd
47f06c:	83 f8 02             	cmp    $0x2,%eax
47f06f:	0f 94 c3             	sete   %bl
47f072:	ff 15 cc 40 49 00    	call   *0x4940cc
47f078:	85 c0                	test   %eax,%eax
47f07a:	74 18                	je     0x47f094
47f07c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
47f080:	74 09                	je     0x47f08b
47f082:	ff 75 08             	push   0x8(%ebp)
47f085:	ff 15 b4 40 49 00    	call   *0x4940b4
47f08b:	84 db                	test   %bl,%bl
47f08d:	74 44                	je     0x47f0d3
47f08f:	6a 04                	push   $0x4
47f091:	58                   	pop    %eax
47f092:	eb 4e                	jmp    0x47f0e2
47f094:	84 db                	test   %bl,%bl
47f096:	74 3b                	je     0x47f0d3
47f098:	e8 46 66 ff ff       	call   0x4756e3
47f09d:	84 c0                	test   %al,%al
47f09f:	74 32                	je     0x47f0d3
47f0a1:	e8 58 67 ff ff       	call   0x4757fe
47f0a6:	84 c0                	test   %al,%al
47f0a8:	75 18                	jne    0x47f0c2
47f0aa:	8b 45 10             	mov    0x10(%ebp),%eax
47f0ad:	0d 00 00 20 00       	or     $0x200000,%eax
47f0b2:	50                   	push   %eax
47f0b3:	ff 75 0c             	push   0xc(%ebp)
47f0b6:	ff 75 08             	push   0x8(%ebp)
47f0b9:	6a 00                	push   $0x0
47f0bb:	e8 96 64 ff ff       	call   0x475556
47f0c0:	eb 20                	jmp    0x47f0e2
47f0c2:	e8 92 66 ff ff       	call   0x475759
47f0c7:	ff 75 10             	push   0x10(%ebp)
47f0ca:	ff 75 0c             	push   0xc(%ebp)
47f0cd:	ff 75 08             	push   0x8(%ebp)
47f0d0:	50                   	push   %eax
47f0d1:	eb e8                	jmp    0x47f0bb
47f0d3:	ff 15 cc 40 49 00    	call   *0x4940cc
47f0d9:	f7 d8                	neg    %eax
47f0db:	1b c0                	sbb    %eax,%eax
47f0dd:	f7 d8                	neg    %eax
47f0df:	83 c0 03             	add    $0x3,%eax
47f0e2:	5b                   	pop    %ebx
47f0e3:	5d                   	pop    %ebp
47f0e4:	c3                   	ret
47f0e5:	8b ff                	mov    %edi,%edi
47f0e7:	55                   	push   %ebp
47f0e8:	8b ec                	mov    %esp,%ebp
47f0ea:	8b 45 14             	mov    0x14(%ebp),%eax
47f0ed:	ff 30                	push   (%eax)
47f0ef:	8b 45 10             	mov    0x10(%ebp),%eax
47f0f2:	ff 30                	push   (%eax)
47f0f4:	8b 45 0c             	mov    0xc(%ebp),%eax
47f0f7:	ff 30                	push   (%eax)
47f0f9:	8b 45 08             	mov    0x8(%ebp),%eax
47f0fc:	ff 30                	push   (%eax)
47f0fe:	e8 0a 64 ff ff       	call   0x47550d
47f103:	5d                   	pop    %ebp
47f104:	c3                   	ret
47f105:	8b ff                	mov    %edi,%edi
47f107:	55                   	push   %ebp
47f108:	8b ec                	mov    %esp,%ebp
47f10a:	8b 45 14             	mov    0x14(%ebp),%eax
47f10d:	ff 30                	push   (%eax)
47f10f:	8b 45 10             	mov    0x10(%ebp),%eax
47f112:	ff 30                	push   (%eax)
47f114:	8b 45 0c             	mov    0xc(%ebp),%eax
47f117:	ff 30                	push   (%eax)
47f119:	8b 45 08             	mov    0x8(%ebp),%eax
47f11c:	ff 30                	push   (%eax)
47f11e:	e8 33 64 ff ff       	call   0x475556
47f123:	5d                   	pop    %ebp
47f124:	c3                   	ret
47f125:	8b ff                	mov    %edi,%edi
47f127:	55                   	push   %ebp
47f128:	8b ec                	mov    %esp,%ebp
47f12a:	8b 45 14             	mov    0x14(%ebp),%eax
47f12d:	ff 30                	push   (%eax)
47f12f:	8b 45 10             	mov    0x10(%ebp),%eax
47f132:	ff 30                	push   (%eax)
47f134:	8b 45 0c             	mov    0xc(%ebp),%eax
47f137:	ff 30                	push   (%eax)
47f139:	8b 45 08             	mov    0x8(%ebp),%eax
47f13c:	ff 30                	push   (%eax)
47f13e:	e8 ca 63 ff ff       	call   0x47550d
47f143:	5d                   	pop    %ebp
47f144:	c3                   	ret
47f145:	8b ff                	mov    %edi,%edi
47f147:	55                   	push   %ebp
47f148:	8b ec                	mov    %esp,%ebp
47f14a:	8b 45 14             	mov    0x14(%ebp),%eax
47f14d:	ff 30                	push   (%eax)
47f14f:	8b 45 10             	mov    0x10(%ebp),%eax
47f152:	ff 30                	push   (%eax)
47f154:	8b 45 0c             	mov    0xc(%ebp),%eax
47f157:	ff 30                	push   (%eax)
47f159:	8b 45 08             	mov    0x8(%ebp),%eax
47f15c:	ff 30                	push   (%eax)
47f15e:	e8 f3 63 ff ff       	call   0x475556
47f163:	5d                   	pop    %ebp
47f164:	c3                   	ret
47f165:	8b ff                	mov    %edi,%edi
47f167:	55                   	push   %ebp
47f168:	8b ec                	mov    %esp,%ebp
47f16a:	8b 45 08             	mov    0x8(%ebp),%eax
47f16d:	ff 30                	push   (%eax)
47f16f:	ff 15 14 40 49 00    	call   *0x494014
47f175:	5d                   	pop    %ebp
47f176:	c3                   	ret
47f177:	8b ff                	mov    %edi,%edi
47f179:	55                   	push   %ebp
47f17a:	8b ec                	mov    %esp,%ebp
47f17c:	8b 45 08             	mov    0x8(%ebp),%eax
47f17f:	ff 30                	push   (%eax)
47f181:	ff 15 b4 40 49 00    	call   *0x4940b4
47f187:	5d                   	pop    %ebp
47f188:	c3                   	ret
47f189:	8b ff                	mov    %edi,%edi
47f18b:	55                   	push   %ebp
47f18c:	8b ec                	mov    %esp,%ebp
47f18e:	5d                   	pop    %ebp
47f18f:	e9 49 fe ff ff       	jmp    0x47efdd
47f194:	8b ff                	mov    %edi,%edi
47f196:	55                   	push   %ebp
47f197:	8b ec                	mov    %esp,%ebp
47f199:	5d                   	pop    %ebp
47f19a:	e9 c2 fe ff ff       	jmp    0x47f061
47f19f:	8b ff                	mov    %edi,%edi
47f1a1:	55                   	push   %ebp
47f1a2:	8b ec                	mov    %esp,%ebp
47f1a4:	ff 75 08             	push   0x8(%ebp)
47f1a7:	e8 8d 31 ff ff       	call   0x472339
47f1ac:	59                   	pop    %ecx
47f1ad:	5d                   	pop    %ebp
47f1ae:	c2 04 00             	ret    $0x4
47f1b1:	8b ff                	mov    %edi,%edi
47f1b3:	55                   	push   %ebp
47f1b4:	8b ec                	mov    %esp,%ebp
47f1b6:	8b 45 08             	mov    0x8(%ebp),%eax
47f1b9:	89 01                	mov    %eax,(%ecx)
47f1bb:	8b c1                	mov    %ecx,%eax
47f1bd:	5d                   	pop    %ebp
47f1be:	c2 04 00             	ret    $0x4
47f1c1:	8b ff                	mov    %edi,%edi
47f1c3:	56                   	push   %esi
47f1c4:	8b f1                	mov    %ecx,%esi
47f1c6:	ff 36                	push   (%esi)
47f1c8:	e8 6c 31 ff ff       	call   0x472339
47f1cd:	83 26 00             	andl   $0x0,(%esi)
47f1d0:	59                   	pop    %ecx
47f1d1:	5e                   	pop    %esi
47f1d2:	c3                   	ret
47f1d3:	33 c0                	xor    %eax,%eax
47f1d5:	39 01                	cmp    %eax,(%ecx)
47f1d7:	0f 95 c0             	setne  %al
47f1da:	c3                   	ret
47f1db:	8b 01                	mov    (%ecx),%eax
47f1dd:	83 21 00             	andl   $0x0,(%ecx)
47f1e0:	c3                   	ret
47f1e1:	8b 01                	mov    (%ecx),%eax
47f1e3:	c3                   	ret
47f1e4:	33 c0                	xor    %eax,%eax
47f1e6:	39 01                	cmp    %eax,(%ecx)
47f1e8:	0f 95 c0             	setne  %al
47f1eb:	c3                   	ret
47f1ec:	8b ff                	mov    %edi,%edi
47f1ee:	56                   	push   %esi
47f1ef:	8b f1                	mov    %ecx,%esi
47f1f1:	ff 36                	push   (%esi)
47f1f3:	e8 41 31 ff ff       	call   0x472339
47f1f8:	83 26 00             	andl   $0x0,(%esi)
47f1fb:	59                   	pop    %ecx
47f1fc:	5e                   	pop    %esi
47f1fd:	c3                   	ret
47f1fe:	8b ff                	mov    %edi,%edi
47f200:	55                   	push   %ebp
47f201:	8b ec                	mov    %esp,%ebp
47f203:	51                   	push   %ecx
47f204:	51                   	push   %ecx
47f205:	53                   	push   %ebx
47f206:	57                   	push   %edi
47f207:	6a 30                	push   $0x30
47f209:	6a 40                	push   $0x40
47f20b:	e8 43 30 ff ff       	call   0x472253
47f210:	8b f8                	mov    %eax,%edi
47f212:	33 db                	xor    %ebx,%ebx
47f214:	89 7d f8             	mov    %edi,-0x8(%ebp)
47f217:	59                   	pop    %ecx
47f218:	59                   	pop    %ecx
47f219:	85 ff                	test   %edi,%edi
47f21b:	75 04                	jne    0x47f221
47f21d:	8b fb                	mov    %ebx,%edi
47f21f:	eb 48                	jmp    0x47f269
47f221:	8d 87 00 0c 00 00    	lea    0xc00(%edi),%eax
47f227:	3b f8                	cmp    %eax,%edi
47f229:	74 3e                	je     0x47f269
47f22b:	56                   	push   %esi
47f22c:	8d 77 20             	lea    0x20(%edi),%esi
47f22f:	8b f8                	mov    %eax,%edi
47f231:	53                   	push   %ebx
47f232:	68 a0 0f 00 00       	push   $0xfa0
47f237:	8d 46 e0             	lea    -0x20(%esi),%eax
47f23a:	50                   	push   %eax
47f23b:	e8 c4 60 ff ff       	call   0x475304
47f240:	83 4e f8 ff          	orl    $0xffffffff,-0x8(%esi)
47f244:	89 1e                	mov    %ebx,(%esi)
47f246:	8d 76 30             	lea    0x30(%esi),%esi
47f249:	89 5e d4             	mov    %ebx,-0x2c(%esi)
47f24c:	8d 46 e0             	lea    -0x20(%esi),%eax
47f24f:	c7 46 d8 00 00 0a 0a 	movl   $0xa0a0000,-0x28(%esi)
47f256:	c6 46 dc 0a          	movb   $0xa,-0x24(%esi)
47f25a:	80 66 dd f8          	andb   $0xf8,-0x23(%esi)
47f25e:	88 5e de             	mov    %bl,-0x22(%esi)
47f261:	3b c7                	cmp    %edi,%eax
47f263:	75 cc                	jne    0x47f231
47f265:	8b 7d f8             	mov    -0x8(%ebp),%edi
47f268:	5e                   	pop    %esi
47f269:	53                   	push   %ebx
47f26a:	e8 ca 30 ff ff       	call   0x472339
47f26f:	59                   	pop    %ecx
47f270:	8b c7                	mov    %edi,%eax
47f272:	5f                   	pop    %edi
47f273:	5b                   	pop    %ebx
47f274:	8b e5                	mov    %ebp,%esp
47f276:	5d                   	pop    %ebp
47f277:	c3                   	ret
47f278:	8b ff                	mov    %edi,%edi