449f47:	8b f0                	mov    %eax,%esi
449f49:	6a 28                	push   $0x28
449f4b:	e8 75 ce ff ff       	call   0x446dc5
449f50:	56                   	push   %esi
449f51:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
449f54:	51                   	push   %ecx
449f55:	8b c8                	mov    %eax,%ecx
449f57:	e8 00 d3 ff ff       	call   0x44725c
449f5c:	6a 29                	push   $0x29
449f5e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
449f61:	50                   	push   %eax
449f62:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
449f65:	e8 14 d3 ff ff       	call   0x44727e
449f6a:	50                   	push   %eax
449f6b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449f6e:	e8 93 d3 ff ff       	call   0x447306
449f73:	8b 0d d4 b3 4b 00    	mov    0x4bb3d4,%ecx
449f79:	8b c1                	mov    %ecx,%eax
449f7b:	83 e0 60             	and    $0x60,%eax
449f7e:	3c 60                	cmp    $0x60,%al
449f80:	74 17                	je     0x449f99
449f82:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
449f85:	74 12                	je     0x449f99
449f87:	8d 45 ec             	lea    -0x14(%ebp),%eax
449f8a:	50                   	push   %eax
449f8b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449f8e:	e8 73 d3 ff ff       	call   0x447306
449f93:	8b 0d d4 b3 4b 00    	mov    0x4bb3d4,%ecx
449f99:	c1 e9 13             	shr    $0x13,%ecx
449f9c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
449f9f:	f7 d1                	not    %ecx
449fa1:	50                   	push   %eax
449fa2:	f6 c1 01             	test   $0x1,%cl
449fa5:	74 11                	je     0x449fb8
449fa7:	e8 6e 0d 00 00       	call   0x44ad1a
449fac:	59                   	pop    %ecx
449fad:	50                   	push   %eax
449fae:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449fb1:	e8 50 d3 ff ff       	call   0x447306
449fb6:	eb 0f                	jmp    0x449fc7
449fb8:	e8 5d 0d 00 00       	call   0x44ad1a
449fbd:	59                   	pop    %ecx
449fbe:	50                   	push   %eax
449fbf:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449fc2:	e8 20 d5 ff ff       	call   0x4474e7
449fc7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
449fca:	50                   	push   %eax
449fcb:	e8 ed 01 00 00       	call   0x44a1bd
449fd0:	59                   	pop    %ecx
449fd1:	50                   	push   %eax
449fd2:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449fd5:	e8 2c d3 ff ff       	call   0x447306
449fda:	a1 d4 b3 4b 00       	mov    0x4bb3d4,%eax
449fdf:	c1 e8 08             	shr    $0x8,%eax
449fe2:	f7 d0                	not    %eax
449fe4:	a8 01                	test   $0x1,%al
449fe6:	8d 45 c4             	lea    -0x3c(%ebp),%eax
449fe9:	50                   	push   %eax
449fea:	74 11                	je     0x449ffd
449fec:	e8 e5 1c 00 00       	call   0x44bcd6
449ff1:	59                   	pop    %ecx
449ff2:	50                   	push   %eax
449ff3:	8d 4d f4             	lea    -0xc(%ebp),%ecx
449ff6:	e8 0b d3 ff ff       	call   0x447306
449ffb:	eb 0f                	jmp    0x44a00c
449ffd:	e8 d4 1c 00 00       	call   0x44bcd6
44a002:	59                   	pop    %ecx
44a003:	50                   	push   %eax
44a004:	8d 4d f4             	lea    -0xc(%ebp),%ecx
44a007:	e8 db d4 ff ff       	call   0x4474e7
44a00c:	8b 45 08             	mov    0x8(%ebp),%eax
44a00f:	85 ff                	test   %edi,%edi
44a011:	74 18                	je     0x44a02b
44a013:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44a016:	89 0f                	mov    %ecx,(%edi)
44a018:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a01b:	89 4f 04             	mov    %ecx,0x4(%edi)
44a01e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
44a021:	89 08                	mov    %ecx,(%eax)
44a023:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44a026:	89 48 04             	mov    %ecx,0x4(%eax)
44a029:	eb 2e                	jmp    0x44a059
44a02b:	89 58 04             	mov    %ebx,0x4(%eax)
44a02e:	c6 40 04 03          	movb   $0x3,0x4(%eax)
44a032:	89 18                	mov    %ebx,(%eax)
44a034:	eb 23                	jmp    0x44a059
44a036:	8b 45 08             	mov    0x8(%ebp),%eax
44a039:	83 60 04 00          	andl   $0x0,0x4(%eax)
44a03d:	83 20 00             	andl   $0x0,(%eax)
44a040:	c6 40 04 02          	movb   $0x2,0x4(%eax)
44a044:	eb 13                	jmp    0x44a059
44a046:	ff 75 0c             	push   0xc(%ebp)
44a049:	6a 01                	push   $0x1
44a04b:	ff 75 08             	push   0x8(%ebp)
44a04e:	e8 e7 d1 ff ff       	call   0x44723a
44a053:	83 c4 0c             	add    $0xc,%esp
44a056:	8b 45 08             	mov    0x8(%ebp),%eax
44a059:	5f                   	pop    %edi
44a05a:	5e                   	pop    %esi
44a05b:	5b                   	pop    %ebx
44a05c:	c9                   	leave
44a05d:	c3                   	ret
44a05e:	55                   	push   %ebp
44a05f:	8b ec                	mov    %esp,%ebp
44a061:	6a 00                	push   $0x0
44a063:	ff 75 08             	push   0x8(%ebp)
44a066:	e8 5d f6 ff ff       	call   0x4496c8
44a06b:	8b 45 08             	mov    0x8(%ebp),%eax
44a06e:	59                   	pop    %ecx
44a06f:	59                   	pop    %ecx
44a070:	5d                   	pop    %ebp
44a071:	c3                   	ret
44a072:	57                   	push   %edi
44a073:	8b 39                	mov    (%ecx),%edi
44a075:	85 ff                	test   %edi,%edi
44a077:	75 04                	jne    0x44a07d
44a079:	32 c0                	xor    %al,%al
44a07b:	5f                   	pop    %edi
44a07c:	c3                   	ret
44a07d:	8b 07                	mov    (%edi),%eax
44a07f:	56                   	push   %esi
44a080:	8b 70 04             	mov    0x4(%eax),%esi
44a083:	8b ce                	mov    %esi,%ecx
44a085:	ff 15 54 43 49 00    	call   *0x494354
44a08b:	8b cf                	mov    %edi,%ecx
44a08d:	ff d6                	call   *%esi
44a08f:	5e                   	pop    %esi
44a090:	5f                   	pop    %edi
44a091:	c3                   	ret
44a092:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
44a096:	0f 95 c0             	setne  %al
44a099:	fe c8                	dec    %al
44a09b:	24 20                	and    $0x20,%al
44a09d:	c3                   	ret
44a09e:	8a 41 04             	mov    0x4(%ecx),%al
44a0a1:	c3                   	ret
44a0a2:	8b 49 04             	mov    0x4(%ecx),%ecx
44a0a5:	85 c9                	test   %ecx,%ecx
44a0a7:	0f 85 c5 ff ff ff    	jne    0x44a072
44a0ad:	32 c0                	xor    %al,%al
44a0af:	c3                   	ret
44a0b0:	53                   	push   %ebx
44a0b1:	8b d9                	mov    %ecx,%ebx
44a0b3:	56                   	push   %esi
44a0b4:	57                   	push   %edi
44a0b5:	8b 7b 08             	mov    0x8(%ebx),%edi
44a0b8:	8b 07                	mov    (%edi),%eax
44a0ba:	8b 70 04             	mov    0x4(%eax),%esi
44a0bd:	8b ce                	mov    %esi,%ecx
44a0bf:	ff 15 54 43 49 00    	call   *0x494354
44a0c5:	8b cf                	mov    %edi,%ecx
44a0c7:	ff d6                	call   *%esi
44a0c9:	84 c0                	test   %al,%al
44a0cb:	75 14                	jne    0x44a0e1
44a0cd:	8b 7b 04             	mov    0x4(%ebx),%edi
44a0d0:	8b 07                	mov    (%edi),%eax
44a0d2:	8b 70 04             	mov    0x4(%eax),%esi
44a0d5:	8b ce                	mov    %esi,%ecx
44a0d7:	ff 15 54 43 49 00    	call   *0x494354
44a0dd:	8b cf                	mov    %edi,%ecx
44a0df:	ff d6                	call   *%esi
44a0e1:	5f                   	pop    %edi
44a0e2:	5e                   	pop    %esi
44a0e3:	5b                   	pop    %ebx
44a0e4:	c3                   	ret
44a0e5:	8b 51 08             	mov    0x8(%ecx),%edx
44a0e8:	85 d2                	test   %edx,%edx
44a0ea:	74 08                	je     0x44a0f4
44a0ec:	8b 41 04             	mov    0x4(%ecx),%eax
44a0ef:	8a 44 10 ff          	mov    -0x1(%eax,%edx,1),%al
44a0f3:	c3                   	ret
44a0f4:	32 c0                	xor    %al,%al
44a0f6:	c3                   	ret
44a0f7:	55                   	push   %ebp
44a0f8:	8b ec                	mov    %esp,%ebp
44a0fa:	83 ec 18             	sub    $0x18,%esp
44a0fd:	8d 45 f0             	lea    -0x10(%ebp),%eax
44a100:	56                   	push   %esi
44a101:	6a 00                	push   $0x0
44a103:	50                   	push   %eax
44a104:	e8 bf f5 ff ff       	call   0x4496c8
44a109:	59                   	pop    %ecx
44a10a:	59                   	pop    %ecx
44a10b:	6a 60                	push   $0x60
44a10d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44a110:	8b f0                	mov    %eax,%esi
44a112:	e8 ae cc ff ff       	call   0x446dc5
44a117:	56                   	push   %esi
44a118:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a11b:	51                   	push   %ecx
44a11c:	8b c8                	mov    %eax,%ecx
44a11e:	e8 39 d1 ff ff       	call   0x44725c
44a123:	6a 27                	push   $0x27
44a125:	ff 75 08             	push   0x8(%ebp)
44a128:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a12b:	e8 4e d1 ff ff       	call   0x44727e
44a130:	8b 45 08             	mov    0x8(%ebp),%eax
44a133:	5e                   	pop    %esi
44a134:	c9                   	leave
44a135:	c3                   	ret
44a136:	55                   	push   %ebp
44a137:	8b ec                	mov    %esp,%ebp
44a139:	53                   	push   %ebx
44a13a:	56                   	push   %esi
44a13b:	57                   	push   %edi
44a13c:	8b 7d 08             	mov    0x8(%ebp),%edi
44a13f:	8b d9                	mov    %ecx,%ebx
44a141:	83 c7 07             	add    $0x7,%edi
44a144:	83 e7 f8             	and    $0xfffffff8,%edi
44a147:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
44a14b:	74 10                	je     0x44a15d
44a14d:	8b 33                	mov    (%ebx),%esi
44a14f:	8b ce                	mov    %esi,%ecx
44a151:	57                   	push   %edi
44a152:	ff 15 54 43 49 00    	call   *0x494354
44a158:	ff d6                	call   *%esi
44a15a:	59                   	pop    %ecx
44a15b:	eb 55                	jmp    0x44a1b2
44a15d:	85 ff                	test   %edi,%edi
44a15f:	75 03                	jne    0x44a164
44a161:	6a 08                	push   $0x8
44a163:	5f                   	pop    %edi
44a164:	8b 73 10             	mov    0x10(%ebx),%esi
44a167:	3b f7                	cmp    %edi,%esi
44a169:	73 3a                	jae    0x44a1a5
44a16b:	be 00 10 00 00       	mov    $0x1000,%esi
44a170:	3b fe                	cmp    %esi,%edi
44a172:	77 45                	ja     0x44a1b9
44a174:	6a 01                	push   $0x1
44a176:	68 04 10 00 00       	push   $0x1004
44a17b:	b9 e8 b3 4b 00       	mov    $0x4bb3e8,%ecx
44a180:	e8 b1 ff ff ff       	call   0x44a136
44a185:	85 c0                	test   %eax,%eax
44a187:	74 05                	je     0x44a18e
44a189:	83 20 00             	andl   $0x0,(%eax)
44a18c:	eb 02                	jmp    0x44a190
44a18e:	33 c0                	xor    %eax,%eax
44a190:	85 c0                	test   %eax,%eax
44a192:	74 25                	je     0x44a1b9
44a194:	8b 4b 0c             	mov    0xc(%ebx),%ecx
44a197:	85 c9                	test   %ecx,%ecx
44a199:	74 04                	je     0x44a19f
44a19b:	89 01                	mov    %eax,(%ecx)
44a19d:	eb 03                	jmp    0x44a1a2
44a19f:	89 43 08             	mov    %eax,0x8(%ebx)
44a1a2:	89 43 0c             	mov    %eax,0xc(%ebx)
44a1a5:	2b f7                	sub    %edi,%esi
44a1a7:	89 73 10             	mov    %esi,0x10(%ebx)
44a1aa:	8b 43 0c             	mov    0xc(%ebx),%eax
44a1ad:	83 c0 04             	add    $0x4,%eax
44a1b0:	03 c6                	add    %esi,%eax
44a1b2:	5f                   	pop    %edi
44a1b3:	5e                   	pop    %esi
44a1b4:	5b                   	pop    %ebx
44a1b5:	5d                   	pop    %ebp
44a1b6:	c2 08 00             	ret    $0x8
44a1b9:	33 c0                	xor    %eax,%eax
44a1bb:	eb f5                	jmp    0x44a1b2
44a1bd:	55                   	push   %ebp
44a1be:	8b ec                	mov    %esp,%ebp
44a1c0:	a1 cc b3 4b 00       	mov    0x4bb3cc,%eax
44a1c5:	8a 08                	mov    (%eax),%cl
44a1c7:	84 c9                	test   %cl,%cl
44a1c9:	74 2b                	je     0x44a1f6
44a1cb:	80 f9 5f             	cmp    $0x5f,%cl
44a1ce:	75 26                	jne    0x44a1f6
44a1d0:	8a 48 01             	mov    0x1(%eax),%cl
44a1d3:	84 c9                	test   %cl,%cl
44a1d5:	74 1f                	je     0x44a1f6
44a1d7:	80 f9 45             	cmp    $0x45,%cl
44a1da:	75 1a                	jne    0x44a1f6
44a1dc:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a1df:	83 c0 02             	add    $0x2,%eax
44a1e2:	68 c8 ba 49 00       	push   $0x49bac8
44a1e7:	a3 cc b3 4b 00       	mov    %eax,0x4bb3cc
44a1ec:	e8 41 cc ff ff       	call   0x446e32
44a1f1:	8b 45 08             	mov    0x8(%ebp),%eax
44a1f4:	5d                   	pop    %ebp
44a1f5:	c3                   	ret
44a1f6:	8b 45 08             	mov    0x8(%ebp),%eax
44a1f9:	83 20 00             	andl   $0x0,(%eax)
44a1fc:	83 60 04 00          	andl   $0x0,0x4(%eax)
44a200:	5d                   	pop    %ebp
44a201:	c3                   	ret
44a202:	8b 0d cc b3 4b 00    	mov    0x4bb3cc,%ecx
44a208:	8a 01                	mov    (%ecx),%al
44a20a:	84 c0                	test   %al,%al
44a20c:	74 52                	je     0x44a260
44a20e:	3c 30                	cmp    $0x30,%al
44a210:	7c 12                	jl     0x44a224
44a212:	3c 39                	cmp    $0x39,%al
44a214:	7f 0e                	jg     0x44a224
44a216:	0f be c0             	movsbl %al,%eax
44a219:	83 e8 2f             	sub    $0x2f,%eax
44a21c:	41                   	inc    %ecx
44a21d:	89 0d cc b3 4b 00    	mov    %ecx,0x4bb3cc
44a223:	c3                   	ret
44a224:	33 d2                	xor    %edx,%edx
44a226:	eb 20                	jmp    0x44a248
44a228:	84 c0                	test   %al,%al
44a22a:	74 34                	je     0x44a260
44a22c:	3c 41                	cmp    $0x41,%al
44a22e:	7c 29                	jl     0x44a259
44a230:	3c 50                	cmp    $0x50,%al
44a232:	7f 25                	jg     0x44a259
44a234:	c1 e2 04             	shl    $0x4,%edx
44a237:	0f be c0             	movsbl %al,%eax
44a23a:	83 c2 bf             	add    $0xffffffbf,%edx
44a23d:	03 d0                	add    %eax,%edx
44a23f:	41                   	inc    %ecx
44a240:	89 0d cc b3 4b 00    	mov    %ecx,0x4bb3cc
44a246:	8a 01                	mov    (%ecx),%al
44a248:	3c 40                	cmp    $0x40,%al
44a24a:	75 dc                	jne    0x44a228
44a24c:	8a 01                	mov    (%ecx),%al
44a24e:	41                   	inc    %ecx
44a24f:	89 0d cc b3 4b 00    	mov    %ecx,0x4bb3cc
44a255:	3c 40                	cmp    $0x40,%al
44a257:	74 04                	je     0x44a25d
44a259:	83 c8 ff             	or     $0xffffffff,%eax
44a25c:	c3                   	ret
44a25d:	8b c2                	mov    %edx,%eax
44a25f:	c3                   	ret
44a260:	33 c0                	xor    %eax,%eax
44a262:	c3                   	ret
44a263:	55                   	push   %ebp
44a264:	8b ec                	mov    %esp,%ebp
44a266:	83 ec 28             	sub    $0x28,%esp
44a269:	a1 cc b3 4b 00       	mov    0x4bb3cc,%eax
44a26e:	53                   	push   %ebx
44a26f:	56                   	push   %esi
44a270:	57                   	push   %edi
44a271:	8a 08                	mov    (%eax),%cl
44a273:	8d 70 01             	lea    0x1(%eax),%esi
44a276:	33 ff                	xor    %edi,%edi
44a278:	89 35 cc b3 4b 00    	mov    %esi,0x4bb3cc
44a27e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44a281:	89 7d fc             	mov    %edi,-0x4(%ebp)
44a284:	89 7d e8             	mov    %edi,-0x18(%ebp)
44a287:	89 7d ec             	mov    %edi,-0x14(%ebp)
44a28a:	80 f9 41             	cmp    $0x41,%cl
44a28d:	0f 8f 83 01 00 00    	jg     0x44a416
44a293:	0f 84 d6 05 00 00    	je     0x44a86f
44a299:	84 c9                	test   %cl,%cl
44a29b:	0f 84 5b 01 00 00    	je     0x44a3fc
44a2a1:	80 f9 2f             	cmp    $0x2f,%cl
44a2a4:	0f 8e b1 05 00 00    	jle    0x44a85b
44a2aa:	80 f9 31             	cmp    $0x31,%cl
44a2ad:	7e 5d                	jle    0x44a30c
44a2af:	80 f9 39             	cmp    $0x39,%cl