47ceaf:	85 c0                	test   %eax,%eax
47ceb1:	75 35                	jne    0x47cee8
47ceb3:	8b 7d 14             	mov    0x14(%ebp),%edi
47ceb6:	8b cf                	mov    %edi,%ecx
47ceb8:	e8 3a 07 00 00       	call   0x47d5f7
47cebd:	8b d8                	mov    %eax,%ebx
47cebf:	85 db                	test   %ebx,%ebx
47cec1:	74 09                	je     0x47cecc
47cec3:	56                   	push   %esi
47cec4:	e8 70 54 ff ff       	call   0x472339
47cec9:	59                   	pop    %ecx
47ceca:	eb 0b                	jmp    0x47ced7
47cecc:	8b 47 04             	mov    0x4(%edi),%eax
47cecf:	89 30                	mov    %esi,(%eax)
47ced1:	83 47 04 04          	addl   $0x4,0x4(%edi)
47ced5:	33 db                	xor    %ebx,%ebx
47ced7:	6a 00                	push   $0x0
47ced9:	e8 5b 54 ff ff       	call   0x472339
47cede:	59                   	pop    %ecx
47cedf:	8b c3                	mov    %ebx,%eax
47cee1:	5e                   	pop    %esi
47cee2:	5f                   	pop    %edi
47cee3:	5b                   	pop    %ebx
47cee4:	8b e5                	mov    %ebp,%esp
47cee6:	5d                   	pop    %ebp
47cee7:	c3                   	ret
47cee8:	33 c0                	xor    %eax,%eax
47ceea:	50                   	push   %eax
47ceeb:	50                   	push   %eax
47ceec:	50                   	push   %eax
47ceed:	50                   	push   %eax
47ceee:	50                   	push   %eax
47ceef:	e8 0f fe fc ff       	call   0x44cd03
47cef4:	cc                   	int3
47cef5:	8b ff                	mov    %edi,%edi
47cef7:	55                   	push   %ebp
47cef8:	8b ec                	mov    %esp,%ebp
47cefa:	81 ec 50 01 00 00    	sub    $0x150,%esp
47cf00:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47cf05:	33 c5                	xor    %ebp,%eax
47cf07:	89 45 fc             	mov    %eax,-0x4(%ebp)
47cf0a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47cf0d:	53                   	push   %ebx
47cf0e:	8b 5d 08             	mov    0x8(%ebp),%ebx
47cf11:	56                   	push   %esi
47cf12:	8b 75 10             	mov    0x10(%ebp),%esi
47cf15:	57                   	push   %edi
47cf16:	89 b5 b8 fe ff ff    	mov    %esi,-0x148(%ebp)
47cf1c:	eb 19                	jmp    0x47cf37
47cf1e:	8a 01                	mov    (%ecx),%al
47cf20:	3c 2f                	cmp    $0x2f,%al
47cf22:	74 17                	je     0x47cf3b
47cf24:	3c 5c                	cmp    $0x5c,%al
47cf26:	74 13                	je     0x47cf3b
47cf28:	3c 3a                	cmp    $0x3a,%al
47cf2a:	74 0f                	je     0x47cf3b
47cf2c:	51                   	push   %ecx
47cf2d:	53                   	push   %ebx
47cf2e:	e8 7d aa 00 00       	call   0x4879b0
47cf33:	59                   	pop    %ecx
47cf34:	59                   	pop    %ecx
47cf35:	8b c8                	mov    %eax,%ecx
47cf37:	3b cb                	cmp    %ebx,%ecx
47cf39:	75 e3                	jne    0x47cf1e
47cf3b:	8a 11                	mov    (%ecx),%dl
47cf3d:	80 fa 3a             	cmp    $0x3a,%dl
47cf40:	75 17                	jne    0x47cf59
47cf42:	8d 43 01             	lea    0x1(%ebx),%eax
47cf45:	3b c8                	cmp    %eax,%ecx
47cf47:	74 10                	je     0x47cf59
47cf49:	56                   	push   %esi
47cf4a:	33 ff                	xor    %edi,%edi
47cf4c:	57                   	push   %edi
47cf4d:	57                   	push   %edi
47cf4e:	53                   	push   %ebx
47cf4f:	e8 36 fe ff ff       	call   0x47cd8a
47cf54:	83 c4 10             	add    $0x10,%esp
47cf57:	eb 7a                	jmp    0x47cfd3
47cf59:	33 ff                	xor    %edi,%edi
47cf5b:	80 fa 2f             	cmp    $0x2f,%dl
47cf5e:	74 0e                	je     0x47cf6e
47cf60:	80 fa 5c             	cmp    $0x5c,%dl
47cf63:	74 09                	je     0x47cf6e
47cf65:	80 fa 3a             	cmp    $0x3a,%dl
47cf68:	74 04                	je     0x47cf6e
47cf6a:	8b c7                	mov    %edi,%eax
47cf6c:	eb 03                	jmp    0x47cf71
47cf6e:	33 c0                	xor    %eax,%eax
47cf70:	40                   	inc    %eax
47cf71:	0f b6 c0             	movzbl %al,%eax
47cf74:	2b cb                	sub    %ebx,%ecx
47cf76:	41                   	inc    %ecx
47cf77:	f7 d8                	neg    %eax
47cf79:	68 40 01 00 00       	push   $0x140
47cf7e:	1b c0                	sbb    %eax,%eax
47cf80:	23 c1                	and    %ecx,%eax
47cf82:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
47cf88:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
47cf8e:	57                   	push   %edi
47cf8f:	50                   	push   %eax
47cf90:	e8 cb 6e fc ff       	call   0x443e60
47cf95:	83 c4 0c             	add    $0xc,%esp
47cf98:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
47cf9e:	57                   	push   %edi
47cf9f:	57                   	push   %edi
47cfa0:	57                   	push   %edi
47cfa1:	50                   	push   %eax
47cfa2:	57                   	push   %edi
47cfa3:	53                   	push   %ebx
47cfa4:	ff 15 40 40 49 00    	call   *0x494040
47cfaa:	8b f0                	mov    %eax,%esi
47cfac:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
47cfb2:	83 fe ff             	cmp    $0xffffffff,%esi
47cfb5:	75 2d                	jne    0x47cfe4
47cfb7:	50                   	push   %eax
47cfb8:	57                   	push   %edi
47cfb9:	57                   	push   %edi
47cfba:	53                   	push   %ebx
47cfbb:	e8 ca fd ff ff       	call   0x47cd8a
47cfc0:	83 c4 10             	add    $0x10,%esp
47cfc3:	8b f8                	mov    %eax,%edi
47cfc5:	83 fe ff             	cmp    $0xffffffff,%esi
47cfc8:	74 07                	je     0x47cfd1
47cfca:	56                   	push   %esi
47cfcb:	ff 15 44 40 49 00    	call   *0x494044
47cfd1:	8b c7                	mov    %edi,%eax
47cfd3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47cfd6:	5f                   	pop    %edi
47cfd7:	5e                   	pop    %esi
47cfd8:	33 cd                	xor    %ebp,%ecx
47cfda:	5b                   	pop    %ebx
47cfdb:	e8 22 2a fc ff       	call   0x43fa02
47cfe0:	8b e5                	mov    %ebp,%esp
47cfe2:	5d                   	pop    %ebp
47cfe3:	c3                   	ret
47cfe4:	8b 48 04             	mov    0x4(%eax),%ecx
47cfe7:	2b 08                	sub    (%eax),%ecx
47cfe9:	c1 f9 02             	sar    $0x2,%ecx
47cfec:	89 8d b0 fe ff ff    	mov    %ecx,-0x150(%ebp)
47cff2:	80 bd e8 fe ff ff 2e 	cmpb   $0x2e,-0x118(%ebp)
47cff9:	75 18                	jne    0x47d013
47cffb:	8a 8d e9 fe ff ff    	mov    -0x117(%ebp),%cl
47d001:	84 c9                	test   %cl,%cl
47d003:	74 29                	je     0x47d02e
47d005:	80 f9 2e             	cmp    $0x2e,%cl
47d008:	75 09                	jne    0x47d013
47d00a:	80 bd ea fe ff ff 00 	cmpb   $0x0,-0x116(%ebp)
47d011:	74 1b                	je     0x47d02e
47d013:	50                   	push   %eax
47d014:	ff b5 b4 fe ff ff    	push   -0x14c(%ebp)
47d01a:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
47d020:	53                   	push   %ebx
47d021:	50                   	push   %eax
47d022:	e8 63 fd ff ff       	call   0x47cd8a
47d027:	83 c4 10             	add    $0x10,%esp
47d02a:	85 c0                	test   %eax,%eax
47d02c:	75 95                	jne    0x47cfc3
47d02e:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
47d034:	50                   	push   %eax
47d035:	56                   	push   %esi
47d036:	ff 15 38 40 49 00    	call   *0x494038
47d03c:	85 c0                	test   %eax,%eax
47d03e:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
47d044:	75 ac                	jne    0x47cff2
47d046:	8b 10                	mov    (%eax),%edx
47d048:	8b 40 04             	mov    0x4(%eax),%eax
47d04b:	8b 8d b0 fe ff ff    	mov    -0x150(%ebp),%ecx
47d051:	2b c2                	sub    %edx,%eax
47d053:	c1 f8 02             	sar    $0x2,%eax
47d056:	3b c8                	cmp    %eax,%ecx
47d058:	0f 84 67 ff ff ff    	je     0x47cfc5
47d05e:	68 75 c9 47 00       	push   $0x47c975
47d063:	2b c1                	sub    %ecx,%eax
47d065:	6a 04                	push   $0x4
47d067:	50                   	push   %eax
47d068:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
47d06b:	50                   	push   %eax
47d06c:	e8 5f a5 00 00       	call   0x4875d0
47d071:	83 c4 10             	add    $0x10,%esp
47d074:	e9 4c ff ff ff       	jmp    0x47cfc5
47d079:	8b ff                	mov    %edi,%edi
47d07b:	55                   	push   %ebp
47d07c:	8b ec                	mov    %esp,%ebp
47d07e:	81 ec 64 02 00 00    	sub    $0x264,%esp
47d084:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47d089:	33 c5                	xor    %ebp,%eax
47d08b:	89 45 fc             	mov    %eax,-0x4(%ebp)
47d08e:	8b 55 0c             	mov    0xc(%ebp),%edx
47d091:	8b 4d 10             	mov    0x10(%ebp),%ecx
47d094:	53                   	push   %ebx
47d095:	8b 5d 08             	mov    0x8(%ebp),%ebx
47d098:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
47d09e:	56                   	push   %esi
47d09f:	57                   	push   %edi
47d0a0:	3b d3                	cmp    %ebx,%edx
47d0a2:	74 20                	je     0x47d0c4
47d0a4:	0f b7 02             	movzwl (%edx),%eax
47d0a7:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
47d0ad:	50                   	push   %eax
47d0ae:	e8 f3 03 00 00       	call   0x47d4a6
47d0b3:	84 c0                	test   %al,%al
47d0b5:	75 07                	jne    0x47d0be
47d0b7:	83 ea 02             	sub    $0x2,%edx
47d0ba:	3b d3                	cmp    %ebx,%edx
47d0bc:	75 e6                	jne    0x47d0a4
47d0be:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
47d0c4:	0f b7 32             	movzwl (%edx),%esi
47d0c7:	83 fe 3a             	cmp    $0x3a,%esi
47d0ca:	75 17                	jne    0x47d0e3
47d0cc:	8d 43 02             	lea    0x2(%ebx),%eax
47d0cf:	3b d0                	cmp    %eax,%edx
47d0d1:	74 10                	je     0x47d0e3
47d0d3:	51                   	push   %ecx
47d0d4:	33 ff                	xor    %edi,%edi
47d0d6:	57                   	push   %edi
47d0d7:	57                   	push   %edi
47d0d8:	53                   	push   %ebx
47d0d9:	e8 60 fd ff ff       	call   0x47ce3e
47d0de:	83 c4 10             	add    $0x10,%esp
47d0e1:	eb 72                	jmp    0x47d155
47d0e3:	56                   	push   %esi
47d0e4:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
47d0ea:	e8 b7 03 00 00       	call   0x47d4a6
47d0ef:	2b d3                	sub    %ebx,%edx
47d0f1:	0f b6 c0             	movzbl %al,%eax
47d0f4:	d1 fa                	sar    $1,%edx
47d0f6:	42                   	inc    %edx
47d0f7:	f7 d8                	neg    %eax
47d0f9:	68 50 02 00 00       	push   $0x250
47d0fe:	1b c0                	sbb    %eax,%eax
47d100:	33 ff                	xor    %edi,%edi
47d102:	23 c2                	and    %edx,%eax
47d104:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
47d10a:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
47d110:	57                   	push   %edi
47d111:	50                   	push   %eax
47d112:	e8 49 6d fc ff       	call   0x443e60
47d117:	83 c4 0c             	add    $0xc,%esp
47d11a:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
47d120:	57                   	push   %edi
47d121:	57                   	push   %edi
47d122:	57                   	push   %edi
47d123:	50                   	push   %eax
47d124:	57                   	push   %edi
47d125:	53                   	push   %ebx
47d126:	ff 15 3c 40 49 00    	call   *0x49403c
47d12c:	8b f0                	mov    %eax,%esi
47d12e:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
47d134:	83 fe ff             	cmp    $0xffffffff,%esi
47d137:	75 2d                	jne    0x47d166
47d139:	50                   	push   %eax
47d13a:	57                   	push   %edi
47d13b:	57                   	push   %edi
47d13c:	53                   	push   %ebx
47d13d:	e8 fc fc ff ff       	call   0x47ce3e
47d142:	83 c4 10             	add    $0x10,%esp
47d145:	8b f8                	mov    %eax,%edi
47d147:	83 fe ff             	cmp    $0xffffffff,%esi
47d14a:	74 07                	je     0x47d153
47d14c:	56                   	push   %esi
47d14d:	ff 15 44 40 49 00    	call   *0x494044
47d153:	8b c7                	mov    %edi,%eax
47d155:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47d158:	5f                   	pop    %edi
47d159:	5e                   	pop    %esi
47d15a:	33 cd                	xor    %ebp,%ecx
47d15c:	5b                   	pop    %ebx
47d15d:	e8 a0 28 fc ff       	call   0x43fa02
47d162:	8b e5                	mov    %ebp,%esp
47d164:	5d                   	pop    %ebp
47d165:	c3                   	ret
47d166:	8b 48 04             	mov    0x4(%eax),%ecx
47d169:	2b 08                	sub    (%eax),%ecx
47d16b:	c1 f9 02             	sar    $0x2,%ecx
47d16e:	6a 2e                	push   $0x2e
47d170:	89 8d 9c fd ff ff    	mov    %ecx,-0x264(%ebp)
47d176:	59                   	pop    %ecx
47d177:	66 39 8d d8 fd ff ff 	cmp    %cx,-0x228(%ebp)
47d17e:	75 1b                	jne    0x47d19b
47d180:	66 39 bd da fd ff ff 	cmp    %di,-0x226(%ebp)
47d187:	74 2d                	je     0x47d1b6
47d189:	66 39 8d da fd ff ff 	cmp    %cx,-0x226(%ebp)
47d190:	75 09                	jne    0x47d19b
47d192:	66 39 bd dc fd ff ff 	cmp    %di,-0x224(%ebp)
47d199:	74 1b                	je     0x47d1b6
47d19b:	50                   	push   %eax
47d19c:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
47d1a2:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
47d1a8:	53                   	push   %ebx
47d1a9:	50                   	push   %eax
47d1aa:	e8 8f fc ff ff       	call   0x47ce3e
47d1af:	83 c4 10             	add    $0x10,%esp
47d1b2:	85 c0                	test   %eax,%eax
47d1b4:	75 8f                	jne    0x47d145
47d1b6:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
47d1bc:	50                   	push   %eax
47d1bd:	56                   	push   %esi
47d1be:	ff 15 34 40 49 00    	call   *0x494034
47d1c4:	6a 2e                	push   $0x2e
47d1c6:	85 c0                	test   %eax,%eax
47d1c8:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
47d1ce:	59                   	pop    %ecx
47d1cf:	75 a6                	jne    0x47d177
47d1d1:	8b 10                	mov    (%eax),%edx
47d1d3:	8b 40 04             	mov    0x4(%eax),%eax
47d1d6:	8b 8d 9c fd ff ff    	mov    -0x264(%ebp),%ecx
47d1dc:	2b c2                	sub    %edx,%eax
47d1de:	c1 f8 02             	sar    $0x2,%eax
47d1e1:	3b c8                	cmp    %eax,%ecx
47d1e3:	0f 84 5e ff ff ff    	je     0x47d147
47d1e9:	68 5d c9 47 00       	push   $0x47c95d
47d1ee:	2b c1                	sub    %ecx,%eax
47d1f0:	6a 04                	push   $0x4
47d1f2:	50                   	push   %eax
47d1f3:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
47d1f6:	50                   	push   %eax
47d1f7:	e8 d4 a3 00 00       	call   0x4875d0
47d1fc:	83 c4 10             	add    $0x10,%esp
47d1ff:	e9 43 ff ff ff       	jmp    0x47d147
47d204:	8b ff                	mov    %edi,%edi
47d206:	55                   	push   %ebp
47d207:	8b ec                	mov    %esp,%ebp
47d209:	8b 45 1c             	mov    0x1c(%ebp),%eax
47d20c:	ff 30                	push   (%eax)
47d20e:	8b 45 18             	mov    0x18(%ebp),%eax
47d211:	ff 30                	push   (%eax)
47d213:	8b 45 14             	mov    0x14(%ebp),%eax
47d216:	ff 30                	push   (%eax)
47d218:	8b 45 10             	mov    0x10(%ebp),%eax
47d21b:	ff 30                	push   (%eax)
47d21d:	8b 45 0c             	mov    0xc(%ebp),%eax
47d220:	ff 30                	push   (%eax)
47d222:	8b 45 08             	mov    0x8(%ebp),%eax
47d225:	ff 30                	push   (%eax)
47d227:	ff 15 40 40 49 00    	call   *0x494040
47d22d:	5d                   	pop    %ebp
47d22e:	c3                   	ret
47d22f:	8b ff                	mov    %edi,%edi
47d231:	55                   	push   %ebp
47d232:	8b ec                	mov    %esp,%ebp
47d234:	8b 45 1c             	mov    0x1c(%ebp),%eax
47d237:	ff 30                	push   (%eax)
47d239:	8b 45 18             	mov    0x18(%ebp),%eax
47d23c:	ff 30                	push   (%eax)
47d23e:	8b 45 14             	mov    0x14(%ebp),%eax
47d241:	ff 30                	push   (%eax)
47d243:	8b 45 10             	mov    0x10(%ebp),%eax
47d246:	ff 30                	push   (%eax)
47d248:	8b 45 0c             	mov    0xc(%ebp),%eax
47d24b:	ff 30                	push   (%eax)