47cd3c:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
47cd3f:	1b c9                	sbb    %ecx,%ecx
47cd41:	f7 d1                	not    %ecx
47cd43:	23 c8                	and    %eax,%ecx
47cd45:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47cd48:	74 1b                	je     0x47cd65
47cd4a:	8b 75 f4             	mov    -0xc(%ebp),%esi
47cd4d:	8b d9                	mov    %ecx,%ebx
47cd4f:	ff 36                	push   (%esi)
47cd51:	e8 e3 55 ff ff       	call   0x472339
47cd56:	47                   	inc    %edi
47cd57:	8d 76 04             	lea    0x4(%esi),%esi
47cd5a:	59                   	pop    %ecx
47cd5b:	3b fb                	cmp    %ebx,%edi
47cd5d:	75 f0                	jne    0x47cd4f
47cd5f:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
47cd62:	8b 75 f0             	mov    -0x10(%ebp),%esi
47cd65:	53                   	push   %ebx
47cd66:	e8 ce 55 ff ff       	call   0x472339
47cd6b:	59                   	pop    %ecx
47cd6c:	5f                   	pop    %edi
47cd6d:	5b                   	pop    %ebx
47cd6e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47cd71:	8b c6                	mov    %esi,%eax
47cd73:	33 cd                	xor    %ebp,%ecx
47cd75:	5e                   	pop    %esi
47cd76:	e8 87 2c fc ff       	call   0x43fa02
47cd7b:	8b e5                	mov    %ebp,%esp
47cd7d:	5d                   	pop    %ebp
47cd7e:	c3                   	ret
47cd7f:	57                   	push   %edi
47cd80:	57                   	push   %edi
47cd81:	57                   	push   %edi
47cd82:	57                   	push   %edi
47cd83:	57                   	push   %edi
47cd84:	e8 7a ff fc ff       	call   0x44cd03
47cd89:	cc                   	int3
47cd8a:	8b ff                	mov    %edi,%edi
47cd8c:	55                   	push   %ebp
47cd8d:	8b ec                	mov    %esp,%ebp
47cd8f:	51                   	push   %ecx
47cd90:	8b 4d 08             	mov    0x8(%ebp),%ecx
47cd93:	8d 51 01             	lea    0x1(%ecx),%edx
47cd96:	8a 01                	mov    (%ecx),%al
47cd98:	41                   	inc    %ecx
47cd99:	84 c0                	test   %al,%al
47cd9b:	75 f9                	jne    0x47cd96
47cd9d:	2b ca                	sub    %edx,%ecx
47cd9f:	83 c8 ff             	or     $0xffffffff,%eax
47cda2:	57                   	push   %edi
47cda3:	8b 7d 10             	mov    0x10(%ebp),%edi
47cda6:	41                   	inc    %ecx
47cda7:	2b c7                	sub    %edi,%eax
47cda9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47cdac:	3b c8                	cmp    %eax,%ecx
47cdae:	76 05                	jbe    0x47cdb5
47cdb0:	6a 0c                	push   $0xc
47cdb2:	58                   	pop    %eax
47cdb3:	eb 77                	jmp    0x47ce2c
47cdb5:	53                   	push   %ebx
47cdb6:	56                   	push   %esi
47cdb7:	8d 5f 01             	lea    0x1(%edi),%ebx
47cdba:	03 d9                	add    %ecx,%ebx
47cdbc:	6a 01                	push   $0x1
47cdbe:	53                   	push   %ebx
47cdbf:	e8 8f 54 ff ff       	call   0x472253
47cdc4:	8b f0                	mov    %eax,%esi
47cdc6:	59                   	pop    %ecx
47cdc7:	59                   	pop    %ecx
47cdc8:	85 ff                	test   %edi,%edi
47cdca:	74 12                	je     0x47cdde
47cdcc:	57                   	push   %edi
47cdcd:	ff 75 0c             	push   0xc(%ebp)
47cdd0:	53                   	push   %ebx
47cdd1:	56                   	push   %esi
47cdd2:	e8 b6 da ff ff       	call   0x47a88d
47cdd7:	83 c4 10             	add    $0x10,%esp
47cdda:	85 c0                	test   %eax,%eax
47cddc:	75 53                	jne    0x47ce31
47cdde:	ff 75 fc             	push   -0x4(%ebp)
47cde1:	2b df                	sub    %edi,%ebx
47cde3:	8d 04 3e             	lea    (%esi,%edi,1),%eax
47cde6:	ff 75 08             	push   0x8(%ebp)
47cde9:	53                   	push   %ebx
47cdea:	50                   	push   %eax
47cdeb:	e8 9d da ff ff       	call   0x47a88d
47cdf0:	83 c4 10             	add    $0x10,%esp
47cdf3:	85 c0                	test   %eax,%eax
47cdf5:	75 3a                	jne    0x47ce31
47cdf7:	8b 5d 14             	mov    0x14(%ebp),%ebx
47cdfa:	8b cb                	mov    %ebx,%ecx
47cdfc:	e8 6f 07 00 00       	call   0x47d570
47ce01:	33 ff                	xor    %edi,%edi
47ce03:	89 45 fc             	mov    %eax,-0x4(%ebp)
47ce06:	85 c0                	test   %eax,%eax
47ce08:	74 0c                	je     0x47ce16
47ce0a:	56                   	push   %esi
47ce0b:	e8 29 55 ff ff       	call   0x472339
47ce10:	8b 75 fc             	mov    -0x4(%ebp),%esi
47ce13:	59                   	pop    %ecx
47ce14:	eb 0b                	jmp    0x47ce21
47ce16:	8b 43 04             	mov    0x4(%ebx),%eax
47ce19:	89 30                	mov    %esi,(%eax)
47ce1b:	8b f7                	mov    %edi,%esi
47ce1d:	83 43 04 04          	addl   $0x4,0x4(%ebx)
47ce21:	57                   	push   %edi
47ce22:	e8 12 55 ff ff       	call   0x472339
47ce27:	59                   	pop    %ecx
47ce28:	8b c6                	mov    %esi,%eax
47ce2a:	5e                   	pop    %esi
47ce2b:	5b                   	pop    %ebx
47ce2c:	5f                   	pop    %edi
47ce2d:	8b e5                	mov    %ebp,%esp
47ce2f:	5d                   	pop    %ebp
47ce30:	c3                   	ret
47ce31:	33 ff                	xor    %edi,%edi
47ce33:	57                   	push   %edi
47ce34:	57                   	push   %edi
47ce35:	57                   	push   %edi
47ce36:	57                   	push   %edi
47ce37:	57                   	push   %edi
47ce38:	e8 c6 fe fc ff       	call   0x44cd03
47ce3d:	cc                   	int3
47ce3e:	8b ff                	mov    %edi,%edi
47ce40:	55                   	push   %ebp
47ce41:	8b ec                	mov    %esp,%ebp
47ce43:	51                   	push   %ecx
47ce44:	8b 4d 08             	mov    0x8(%ebp),%ecx
47ce47:	53                   	push   %ebx
47ce48:	57                   	push   %edi
47ce49:	33 db                	xor    %ebx,%ebx
47ce4b:	8d 51 02             	lea    0x2(%ecx),%edx
47ce4e:	66 8b 01             	mov    (%ecx),%ax
47ce51:	83 c1 02             	add    $0x2,%ecx
47ce54:	66 3b c3             	cmp    %bx,%ax
47ce57:	75 f5                	jne    0x47ce4e
47ce59:	8b 7d 10             	mov    0x10(%ebp),%edi
47ce5c:	2b ca                	sub    %edx,%ecx
47ce5e:	d1 f9                	sar    $1,%ecx
47ce60:	83 c8 ff             	or     $0xffffffff,%eax
47ce63:	41                   	inc    %ecx
47ce64:	2b c7                	sub    %edi,%eax
47ce66:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47ce69:	3b c8                	cmp    %eax,%ecx
47ce6b:	76 05                	jbe    0x47ce72
47ce6d:	6a 0c                	push   $0xc
47ce6f:	58                   	pop    %eax
47ce70:	eb 70                	jmp    0x47cee2
47ce72:	56                   	push   %esi
47ce73:	8d 5f 01             	lea    0x1(%edi),%ebx
47ce76:	03 d9                	add    %ecx,%ebx
47ce78:	6a 02                	push   $0x2
47ce7a:	53                   	push   %ebx
47ce7b:	e8 d3 53 ff ff       	call   0x472253
47ce80:	8b f0                	mov    %eax,%esi
47ce82:	59                   	pop    %ecx
47ce83:	59                   	pop    %ecx
47ce84:	85 ff                	test   %edi,%edi
47ce86:	74 12                	je     0x47ce9a
47ce88:	57                   	push   %edi
47ce89:	ff 75 0c             	push   0xc(%ebp)
47ce8c:	53                   	push   %ebx
47ce8d:	56                   	push   %esi
47ce8e:	e8 3f 21 00 00       	call   0x47efd2
47ce93:	83 c4 10             	add    $0x10,%esp
47ce96:	85 c0                	test   %eax,%eax
47ce98:	75 4e                	jne    0x47cee8
47ce9a:	ff 75 fc             	push   -0x4(%ebp)
47ce9d:	2b df                	sub    %edi,%ebx
47ce9f:	8d 04 7e             	lea    (%esi,%edi,2),%eax
47cea2:	ff 75 08             	push   0x8(%ebp)
47cea5:	53                   	push   %ebx
47cea6:	50                   	push   %eax
47cea7:	e8 26 21 00 00       	call   0x47efd2
47ceac:	83 c4 10             	add    $0x10,%esp
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