444df1:	c7 45 bc 30 00 00 00 	movl   $0x30,-0x44(%ebp)
444df8:	e8 53 bf fd ff       	call   0x420d50
444dfd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
444e01:	83 c4 0c             	add    $0xc,%esp
444e04:	8d 45 fc             	lea    -0x4(%ebp),%eax
444e07:	50                   	push   %eax
444e08:	8b 45 10             	mov    0x10(%ebp),%eax
444e0b:	0f b7 c0             	movzwl %ax,%eax
444e0e:	50                   	push   %eax
444e0f:	8b ce                	mov    %esi,%ecx
444e11:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
444e18:	e8 f1 04 00 00       	call   0x44530e
444e1d:	84 c0                	test   %al,%al
444e1f:	0f 84 d9 01 00 00    	je     0x444ffe
444e25:	8b 7d fc             	mov    -0x4(%ebp),%edi
444e28:	8b 8c be b4 01 00 00 	mov    0x1b4(%esi,%edi,4),%ecx
444e2f:	83 ff 03             	cmp    $0x3,%edi
444e32:	75 18                	jne    0x444e4c
444e34:	c7 05 b0 10 4c 00 02 	movl   $0x2,0x4c10b0
444e3b:	00 00 00
444e3e:	c6 05 c0 10 4c 00 01 	movb   $0x1,0x4c10c0
444e45:	b0 01                	mov    $0x1,%al
444e47:	e9 b4 01 00 00       	jmp    0x445000
444e4c:	83 ff 04             	cmp    $0x4,%edi
444e4f:	75 58                	jne    0x444ea9
444e51:	8d 45 bc             	lea    -0x44(%ebp),%eax
444e54:	50                   	push   %eax
444e55:	53                   	push   %ebx
444e56:	57                   	push   %edi
444e57:	ff 36                	push   (%esi)
444e59:	ff 15 bc d5 48 00    	call   *0x48d5bc
444e5f:	85 c0                	test   %eax,%eax
444e61:	0f 84 97 01 00 00    	je     0x444ffe
444e67:	8b 45 c8             	mov    -0x38(%ebp),%eax
444e6a:	a8 08                	test   $0x8,%al
444e6c:	74 0b                	je     0x444e79
444e6e:	83 f0 08             	xor    $0x8,%eax
444e71:	88 1d c5 10 4c 00    	mov    %bl,0x4c10c5
444e77:	eb 0a                	jmp    0x444e83
444e79:	83 c8 08             	or     $0x8,%eax
444e7c:	c6 05 c5 10 4c 00 01 	movb   $0x1,0x4c10c5
444e83:	89 45 c8             	mov    %eax,-0x38(%ebp)
444e86:	8d 45 bc             	lea    -0x44(%ebp),%eax
444e89:	50                   	push   %eax
444e8a:	53                   	push   %ebx
444e8b:	6a 04                	push   $0x4
444e8d:	ff 36                	push   (%esi)
444e8f:	ff 15 b8 d5 48 00    	call   *0x48d5b8
444e95:	8b ce                	mov    %esi,%ecx
444e97:	e8 13 03 fc ff       	call   0x4051af
444e9c:	68 f4 01 00 00       	push   $0x1f4
444ea1:	ff 15 70 d1 48 00    	call   *0x48d170
444ea7:	eb 9c                	jmp    0x444e45
444ea9:	8b 45 10             	mov    0x10(%ebp),%eax
444eac:	c1 e8 10             	shr    $0x10,%eax
444eaf:	66 85 c0             	test   %ax,%ax
444eb2:	0f 85 46 01 00 00    	jne    0x444ffe
444eb8:	39 5d 14             	cmp    %ebx,0x14(%ebp)
444ebb:	0f 85 3d 01 00 00    	jne    0x444ffe
444ec1:	38 1d c5 10 4c 00    	cmp    %bl,0x4c10c5
444ec7:	0f 85 31 01 00 00    	jne    0x444ffe
444ecd:	8b 01                	mov    (%ecx),%eax
444ecf:	89 45 10             	mov    %eax,0x10(%ebp)
444ed2:	38 5e 07             	cmp    %bl,0x7(%esi)
444ed5:	0f 84 e3 00 00 00    	je     0x444fbe
444edb:	38 59 05             	cmp    %bl,0x5(%ecx)
444ede:	0f 84 da 00 00 00    	je     0x444fbe
444ee4:	50                   	push   %eax
444ee5:	ff 15 b4 d5 48 00    	call   *0x48d5b4
444eeb:	89 45 14             	mov    %eax,0x14(%ebp)
444eee:	38 5e 04             	cmp    %bl,0x4(%esi)
444ef1:	74 06                	je     0x444ef9
444ef3:	83 e8 04             	sub    $0x4,%eax
444ef6:	89 45 14             	mov    %eax,0x14(%ebp)
444ef9:	85 c0                	test   %eax,%eax
444efb:	7e 16                	jle    0x444f13
444efd:	53                   	push   %ebx
444efe:	ff 75 10             	push   0x10(%ebp)
444f01:	ff 15 b0 d5 48 00    	call   *0x48d5b0
444f07:	3b c7                	cmp    %edi,%eax
444f09:	74 13                	je     0x444f1e
444f0b:	43                   	inc    %ebx
444f0c:	3b 5d 14             	cmp    0x14(%ebp),%ebx
444f0f:	7c ec                	jl     0x444efd
444f11:	eb 03                	jmp    0x444f16
444f13:	83 c8 ff             	or     $0xffffffff,%eax
444f16:	3b c7                	cmp    %edi,%eax
444f18:	0f 85 d3 00 00 00    	jne    0x444ff1
444f1e:	8b c3                	mov    %ebx,%eax
444f20:	4b                   	dec    %ebx
444f21:	89 45 f8             	mov    %eax,-0x8(%ebp)
444f24:	78 37                	js     0x444f5d
444f26:	8b 7d 10             	mov    0x10(%ebp),%edi
444f29:	53                   	push   %ebx
444f2a:	57                   	push   %edi
444f2b:	ff 15 b0 d5 48 00    	call   *0x48d5b0
444f31:	8d 4d f0             	lea    -0x10(%ebp),%ecx
444f34:	51                   	push   %ecx
444f35:	50                   	push   %eax
444f36:	8b ce                	mov    %esi,%ecx
444f38:	89 45 f4             	mov    %eax,-0xc(%ebp)
444f3b:	e8 ce 03 00 00       	call   0x44530e
444f40:	84 c0                	test   %al,%al
444f42:	74 10                	je     0x444f54
444f44:	8b 45 f4             	mov    -0xc(%ebp),%eax
444f47:	8b 84 86 b4 01 00 00 	mov    0x1b4(%esi,%eax,4),%eax
444f4e:	80 78 05 00          	cmpb   $0x0,0x5(%eax)
444f52:	74 03                	je     0x444f57
444f54:	4b                   	dec    %ebx
444f55:	79 d2                	jns    0x444f29
444f57:	8b 7d fc             	mov    -0x4(%ebp),%edi
444f5a:	8b 45 f8             	mov    -0x8(%ebp),%eax
444f5d:	8d 4b 01             	lea    0x1(%ebx),%ecx
444f60:	8d 58 01             	lea    0x1(%eax),%ebx
444f63:	89 4d ec             	mov    %ecx,-0x14(%ebp)
444f66:	3b 5d 14             	cmp    0x14(%ebp),%ebx
444f69:	7d 3d                	jge    0x444fa8
444f6b:	8b 7d 10             	mov    0x10(%ebp),%edi
444f6e:	53                   	push   %ebx
444f6f:	57                   	push   %edi
444f70:	ff 15 b0 d5 48 00    	call   *0x48d5b0
444f76:	8d 4d f0             	lea    -0x10(%ebp),%ecx
444f79:	51                   	push   %ecx
444f7a:	50                   	push   %eax
444f7b:	8b ce                	mov    %esi,%ecx
444f7d:	89 45 f4             	mov    %eax,-0xc(%ebp)
444f80:	e8 89 03 00 00       	call   0x44530e
444f85:	84 c0                	test   %al,%al
444f87:	74 10                	je     0x444f99
444f89:	8b 45 f4             	mov    -0xc(%ebp),%eax
444f8c:	8b 84 86 b4 01 00 00 	mov    0x1b4(%esi,%eax,4),%eax
444f93:	80 78 05 00          	cmpb   $0x0,0x5(%eax)
444f97:	74 06                	je     0x444f9f
444f99:	43                   	inc    %ebx
444f9a:	3b 5d 14             	cmp    0x14(%ebp),%ebx
444f9d:	7c cf                	jl     0x444f6e
444f9f:	8b 7d fc             	mov    -0x4(%ebp),%edi
444fa2:	8b 45 f8             	mov    -0x8(%ebp),%eax
444fa5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
444fa8:	68 00 04 00 00       	push   $0x400
444fad:	50                   	push   %eax
444fae:	8d 43 ff             	lea    -0x1(%ebx),%eax
444fb1:	50                   	push   %eax
444fb2:	51                   	push   %ecx
444fb3:	ff 75 10             	push   0x10(%ebp)
444fb6:	ff 15 ac d5 48 00    	call   *0x48d5ac
444fbc:	eb 33                	jmp    0x444ff1
444fbe:	38 5e 05             	cmp    %bl,0x5(%esi)
444fc1:	74 2e                	je     0x444ff1
444fc3:	8d 4d bc             	lea    -0x44(%ebp),%ecx
444fc6:	51                   	push   %ecx
444fc7:	53                   	push   %ebx
444fc8:	57                   	push   %edi
444fc9:	50                   	push   %eax
444fca:	ff 15 bc d5 48 00    	call   *0x48d5bc
444fd0:	8b 45 c8             	mov    -0x38(%ebp),%eax
444fd3:	a8 08                	test   $0x8,%al
444fd5:	74 05                	je     0x444fdc
444fd7:	83 f0 08             	xor    $0x8,%eax
444fda:	eb 03                	jmp    0x444fdf
444fdc:	83 c8 08             	or     $0x8,%eax
444fdf:	89 45 c8             	mov    %eax,-0x38(%ebp)
444fe2:	8d 45 bc             	lea    -0x44(%ebp),%eax
444fe5:	50                   	push   %eax
444fe6:	53                   	push   %ebx
444fe7:	57                   	push   %edi
444fe8:	ff 75 10             	push   0x10(%ebp)
444feb:	ff 15 b8 d5 48 00    	call   *0x48d5b8
444ff1:	57                   	push   %edi
444ff2:	8b ce                	mov    %esi,%ecx
444ff4:	e8 1f fa ff ff       	call   0x444a18
444ff9:	e9 47 fe ff ff       	jmp    0x444e45
444ffe:	32 c0                	xor    %al,%al
445000:	5f                   	pop    %edi
445001:	5e                   	pop    %esi
445002:	5b                   	pop    %ebx
445003:	c9                   	leave
445004:	c2 10 00             	ret    $0x10
445007:	55                   	push   %ebp
445008:	8b ec                	mov    %esp,%ebp
44500a:	83 e4 f8             	and    $0xfffffff8,%esp
44500d:	83 ec 3c             	sub    $0x3c,%esp
445010:	83 0c 24 ff          	orl    $0xffffffff,(%esp)
445014:	53                   	push   %ebx
445015:	56                   	push   %esi
445016:	57                   	push   %edi
445017:	8d 44 24 0c          	lea    0xc(%esp),%eax
44501b:	50                   	push   %eax
44501c:	ff 75 08             	push   0x8(%ebp)
44501f:	8b f1                	mov    %ecx,%esi
445021:	e8 e8 02 00 00       	call   0x44530e
445026:	84 c0                	test   %al,%al
445028:	0f 84 1e 01 00 00    	je     0x44514c
44502e:	8b 7c 24 0c          	mov    0xc(%esp),%edi
445032:	6a 07                	push   $0x7
445034:	5b                   	pop    %ebx
445035:	3b fb                	cmp    %ebx,%edi
445037:	0f 8c 0f 01 00 00    	jl     0x44514c
44503d:	3b be d0 09 00 00    	cmp    0x9d0(%esi),%edi
445043:	0f 8f 03 01 00 00    	jg     0x44514c
445049:	8b 84 be b4 01 00 00 	mov    0x1b4(%esi,%edi,4),%eax
445050:	89 44 24 14          	mov    %eax,0x14(%esp)
445054:	80 78 04 01          	cmpb   $0x1,0x4(%eax)
445058:	8b 08                	mov    (%eax),%ecx
44505a:	89 4c 24 10          	mov    %ecx,0x10(%esp)
44505e:	0f 85 b3 00 00 00    	jne    0x445117
445064:	6a 2c                	push   $0x2c
445066:	8d 44 24 20          	lea    0x20(%esp),%eax
44506a:	6a 00                	push   $0x0
44506c:	50                   	push   %eax
44506d:	c7 44 24 24 30 00 00 	movl   $0x30,0x24(%esp)
445074:	00
445075:	e8 d6 bc fd ff       	call   0x420d50
44507a:	83 c4 0c             	add    $0xc,%esp
44507d:	8d 44 24 18          	lea    0x18(%esp),%eax
445081:	50                   	push   %eax
445082:	6a 00                	push   $0x0
445084:	57                   	push   %edi
445085:	ff 74 24 1c          	push   0x1c(%esp)
445089:	c7 44 24 2c 04 00 00 	movl   $0x4,0x2c(%esp)
445090:	00
445091:	ff 15 bc d5 48 00    	call   *0x48d5bc
445097:	85 c0                	test   %eax,%eax
445099:	0f 84 ad 00 00 00    	je     0x44514c
44509f:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4450a3:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4450a7:	85 c9                	test   %ecx,%ecx
4450a9:	74 6c                	je     0x445117
4450ab:	39 9e d0 09 00 00    	cmp    %ebx,0x9d0(%esi)
4450b1:	7c 64                	jl     0x445117
4450b3:	8d be d0 01 00 00    	lea    0x1d0(%esi),%edi
4450b9:	8b 07                	mov    (%edi),%eax
4450bb:	85 c0                	test   %eax,%eax
4450bd:	74 48                	je     0x445107
4450bf:	39 08                	cmp    %ecx,(%eax)
4450c1:	75 44                	jne    0x445107
4450c3:	80 78 04 01          	cmpb   $0x1,0x4(%eax)
4450c7:	75 0a                	jne    0x4450d3
4450c9:	53                   	push   %ebx
4450ca:	8b ce                	mov    %esi,%ecx
4450cc:	e8 36 ff ff ff       	call   0x445007
4450d1:	eb 30                	jmp    0x445103
4450d3:	6a 00                	push   $0x0
4450d5:	53                   	push   %ebx
4450d6:	51                   	push   %ecx
4450d7:	ff 15 d8 d6 48 00    	call   *0x48d6d8
4450dd:	8b 07                	mov    (%edi),%eax
4450df:	33 c9                	xor    %ecx,%ecx
4450e1:	c6 40 04 ff          	movb   $0xff,0x4(%eax)
4450e5:	8b 07                	mov    (%edi),%eax
4450e7:	6a ff                	push   $0xffffffff
4450e9:	89 08                	mov    %ecx,(%eax)
4450eb:	8b 07                	mov    (%edi),%eax
4450ed:	51                   	push   %ecx
4450ee:	88 48 05             	mov    %cl,0x5(%eax)
4450f1:	8b 0f                	mov    (%edi),%ecx
4450f3:	83 c1 08             	add    $0x8,%ecx
4450f6:	e8 90 60 fc ff       	call   0x40b18b
4450fb:	53                   	push   %ebx
4450fc:	8b ce                	mov    %esi,%ecx
4450fe:	e8 64 fb ff ff       	call   0x444c67
445103:	8b 4c 24 10          	mov    0x10(%esp),%ecx
445107:	43                   	inc    %ebx
445108:	83 c7 04             	add    $0x4,%edi
44510b:	3b 9e d0 09 00 00    	cmp    0x9d0(%esi),%ebx
445111:	7e a6                	jle    0x4450b9
445113:	8b 7c 24 0c          	mov    0xc(%esp),%edi
445117:	8b 5c 24 14          	mov    0x14(%esp),%ebx
44511b:	6a 00                	push   $0x0
44511d:	57                   	push   %edi
44511e:	ff 33                	push   (%ebx)
445120:	ff 15 d8 d6 48 00    	call   *0x48d6d8
445126:	85 c0                	test   %eax,%eax
445128:	74 22                	je     0x44514c
44512a:	33 c0                	xor    %eax,%eax
44512c:	6a ff                	push   $0xffffffff
44512e:	50                   	push   %eax
44512f:	8d 4b 08             	lea    0x8(%ebx),%ecx
445132:	66 c7 43 04 ff 00    	movw   $0xff,0x4(%ebx)
445138:	89 03                	mov    %eax,(%ebx)
44513a:	e8 4c 60 fc ff       	call   0x40b18b
44513f:	57                   	push   %edi
445140:	8b ce                	mov    %esi,%ecx
445142:	e8 20 fb ff ff       	call   0x444c67
445147:	33 c0                	xor    %eax,%eax
445149:	40                   	inc    %eax
44514a:	eb 02                	jmp    0x44514e
44514c:	33 c0                	xor    %eax,%eax
44514e:	5f                   	pop    %edi
44514f:	5e                   	pop    %esi
445150:	5b                   	pop    %ebx
445151:	8b e5                	mov    %ebp,%esp
445153:	5d                   	pop    %ebp
445154:	c2 04 00             	ret    $0x4
445157:	55                   	push   %ebp
445158:	8b ec                	mov    %esp,%ebp
44515a:	83 ec 34             	sub    $0x34,%esp
44515d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
445161:	53                   	push   %ebx
445162:	56                   	push   %esi
445163:	57                   	push   %edi
445164:	8b 7d 08             	mov    0x8(%ebp),%edi
445167:	83 ff 05             	cmp    $0x5,%edi
44516a:	0f 84 e9 00 00 00    	je     0x445259
445170:	83 ff 06             	cmp    $0x6,%edi
445173:	0f 84 e0 00 00 00    	je     0x445259
445179:	83 ff 03             	cmp    $0x3,%edi
44517c:	74 1f                	je     0x44519d
44517e:	83 ff 04             	cmp    $0x4,%edi
445181:	74 1a                	je     0x44519d
445183:	8d 45 fc             	lea    -0x4(%ebp),%eax
445186:	50                   	push   %eax
445187:	57                   	push   %edi
445188:	b9 08 17 4c 00       	mov    $0x4c1708,%ecx
44518d:	e8 7c 01 00 00       	call   0x44530e
445192:	84 c0                	test   %al,%al
445194:	0f 84 bf 00 00 00    	je     0x445259
44519a:	8b 7d fc             	mov    -0x4(%ebp),%edi
44519d:	8b 75 10             	mov    0x10(%ebp),%esi
4451a0:	8b 04 bd bc 18 4c 00 	mov    0x4c18bc(,%edi,4),%eax
4451a7:	83 26 00             	andl   $0x0,(%esi)
4451aa:	85 c0                	test   %eax,%eax
4451ac:	0f 84 a7 00 00 00    	je     0x445259
4451b2:	8b 18                	mov    (%eax),%ebx
4451b4:	6a 2c                	push   $0x2c
4451b6:	8d 45 d0             	lea    -0x30(%ebp),%eax
4451b9:	6a 00                	push   $0x0
4451bb:	50                   	push   %eax
4451bc:	89 5d 08             	mov    %ebx,0x8(%ebp)
4451bf:	c7 45 cc 30 00 00 00 	movl   $0x30,-0x34(%ebp)
4451c6:	e8 85 bb fd ff       	call   0x420d50
4451cb:	83 c4 0c             	add    $0xc,%esp
4451ce:	85 db                	test   %ebx,%ebx
4451d0:	0f 84 83 00 00 00    	je     0x445259
4451d6:	68 08 02 00 00       	push   $0x208
4451db:	e8 0a a3 fd ff       	call   0x41f4ea
4451e0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4451e3:	59                   	pop    %ecx
4451e4:	89 03                	mov    %eax,(%ebx)
4451e6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4451e9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4451ec:	50                   	push   %eax
4451ed:	6a 00                	push   $0x0
4451ef:	57                   	push   %edi
4451f0:	ff 75 08             	push   0x8(%ebp)
4451f3:	c7 45 d0 11 00 00 00 	movl   $0x11,-0x30(%ebp)
4451fa:	c7 45 f4 04 01 00 00 	movl   $0x104,-0xc(%ebp)
445201:	ff 15 bc d5 48 00    	call   *0x48d5bc
445207:	85 c0                	test   %eax,%eax
445209:	74 46                	je     0x445251