438d19:	42                   	inc    %edx
438d1a:	88 4d ab             	mov    %cl,-0x55(%ebp)
438d1d:	80 f9 30             	cmp    $0x30,%cl
438d20:	7d dc                	jge    0x438cfe
438d22:	eb 12                	jmp    0x438d36
438d24:	8a 4d ab             	mov    -0x55(%ebp),%cl
438d27:	be 51 14 00 00       	mov    $0x1451,%esi
438d2c:	eb 08                	jmp    0x438d36
438d2e:	80 f9 39             	cmp    $0x39,%cl
438d31:	7f 08                	jg     0x438d3b
438d33:	8a 0a                	mov    (%edx),%cl
438d35:	42                   	inc    %edx
438d36:	80 f9 30             	cmp    $0x30,%cl
438d39:	7d f3                	jge    0x438d2e
438d3b:	4a                   	dec    %edx
438d3c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
438d3f:	8b 4d 98             	mov    -0x68(%ebp),%ecx
438d42:	89 11                	mov    %edx,(%ecx)
438d44:	8b 4d a0             	mov    -0x60(%ebp),%ecx
438d47:	85 c9                	test   %ecx,%ecx
438d49:	0f 84 d7 03 00 00    	je     0x439126
438d4f:	83 f8 18             	cmp    $0x18,%eax
438d52:	76 19                	jbe    0x438d6d
438d54:	8a 45 f7             	mov    -0x9(%ebp),%al
438d57:	3c 05                	cmp    $0x5,%al
438d59:	7c 05                	jl     0x438d60
438d5b:	fe c0                	inc    %al
438d5d:	88 45 f7             	mov    %al,-0x9(%ebp)
438d60:	8b 4d ac             	mov    -0x54(%ebp),%ecx
438d63:	4f                   	dec    %edi
438d64:	6a 18                	push   $0x18
438d66:	41                   	inc    %ecx
438d67:	58                   	pop    %eax
438d68:	89 4d ac             	mov    %ecx,-0x54(%ebp)
438d6b:	eb 03                	jmp    0x438d70
438d6d:	8b 4d ac             	mov    -0x54(%ebp),%ecx
438d70:	85 c0                	test   %eax,%eax
438d72:	0f 84 a4 03 00 00    	je     0x43911c
438d78:	4f                   	dec    %edi
438d79:	38 1f                	cmp    %bl,(%edi)
438d7b:	75 0a                	jne    0x438d87
438d7d:	48                   	dec    %eax
438d7e:	41                   	inc    %ecx
438d7f:	4f                   	dec    %edi
438d80:	38 1f                	cmp    %bl,(%edi)
438d82:	74 f9                	je     0x438d7d
438d84:	89 4d ac             	mov    %ecx,-0x54(%ebp)
438d87:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
438d8a:	51                   	push   %ecx
438d8b:	50                   	push   %eax
438d8c:	8d 45 e0             	lea    -0x20(%ebp),%eax
438d8f:	50                   	push   %eax
438d90:	e8 71 e2 ff ff       	call   0x437006
438d95:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
438d98:	83 c4 0c             	add    $0xc,%esp
438d9b:	85 c9                	test   %ecx,%ecx
438d9d:	79 02                	jns    0x438da1
438d9f:	f7 de                	neg    %esi
438da1:	03 75 ac             	add    -0x54(%ebp),%esi
438da4:	8b 45 9c             	mov    -0x64(%ebp),%eax
438da7:	85 c0                	test   %eax,%eax
438da9:	75 03                	jne    0x438dae
438dab:	03 75 18             	add    0x18(%ebp),%esi
438dae:	8b 45 a4             	mov    -0x5c(%ebp),%eax
438db1:	85 c0                	test   %eax,%eax
438db3:	75 03                	jne    0x438db8
438db5:	2b 75 1c             	sub    0x1c(%ebp),%esi
438db8:	81 fe 50 14 00 00    	cmp    $0x1450,%esi
438dbe:	0f 8f 4a 03 00 00    	jg     0x43910e
438dc4:	81 fe b0 eb ff ff    	cmp    $0xffffebb0,%esi
438dca:	0f 8c 2f 03 00 00    	jl     0x4390ff
438dd0:	ba 40 01 4c 00       	mov    $0x4c0140,%edx
438dd5:	83 ea 60             	sub    $0x60,%edx
438dd8:	85 f6                	test   %esi,%esi
438dda:	0f 84 0d 03 00 00    	je     0x4390ed
438de0:	79 0a                	jns    0x438dec
438de2:	ba a0 02 4c 00       	mov    $0x4c02a0,%edx
438de7:	f7 de                	neg    %esi
438de9:	83 ea 60             	sub    $0x60,%edx
438dec:	39 5d 14             	cmp    %ebx,0x14(%ebp)
438def:	0f 85 f0 02 00 00    	jne    0x4390e5
438df5:	33 c0                	xor    %eax,%eax
438df7:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
438dfb:	e9 e5 02 00 00       	jmp    0x4390e5
438e00:	8b c6                	mov    %esi,%eax
438e02:	83 c2 54             	add    $0x54,%edx
438e05:	c1 fe 03             	sar    $0x3,%esi
438e08:	89 55 ac             	mov    %edx,-0x54(%ebp)
438e0b:	89 75 b4             	mov    %esi,-0x4c(%ebp)
438e0e:	83 e0 07             	and    $0x7,%eax
438e11:	0f 84 ce 02 00 00    	je     0x4390e5
438e17:	6b c8 0c             	imul   $0xc,%eax,%ecx
438e1a:	b8 00 80 00 00       	mov    $0x8000,%eax
438e1f:	03 ca                	add    %edx,%ecx
438e21:	89 4d b0             	mov    %ecx,-0x50(%ebp)
438e24:	66 39 01             	cmp    %ax,(%ecx)
438e27:	72 11                	jb     0x438e3a
438e29:	8b f1                	mov    %ecx,%esi
438e2b:	8d 7d b8             	lea    -0x48(%ebp),%edi
438e2e:	8d 4d b8             	lea    -0x48(%ebp),%ecx
438e31:	89 4d b0             	mov    %ecx,-0x50(%ebp)
438e34:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438e35:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438e36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
438e37:	ff 4d ba             	decl   -0x46(%ebp)
438e3a:	0f b7 79 0a          	movzwl 0xa(%ecx),%edi
438e3e:	8b 55 ce             	mov    -0x32(%ebp),%edx
438e41:	8b c7                	mov    %edi,%eax
438e43:	33 c2                	xor    %edx,%eax
438e45:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
438e48:	25 00 80 00 00       	and    $0x8000,%eax
438e4d:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
438e50:	89 45 a0             	mov    %eax,-0x60(%ebp)
438e53:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
438e58:	23 d0                	and    %eax,%edx
438e5a:	89 5d d8             	mov    %ebx,-0x28(%ebp)
438e5d:	23 f8                	and    %eax,%edi
438e5f:	89 5d dc             	mov    %ebx,-0x24(%ebp)
438e62:	8d 04 17             	lea    (%edi,%edx,1),%eax
438e65:	0f b7 f0             	movzwl %ax,%esi
438e68:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
438e6d:	89 75 94             	mov    %esi,-0x6c(%ebp)
438e70:	66 3b d0             	cmp    %ax,%dx
438e73:	0f 83 49 02 00 00    	jae    0x4390c2
438e79:	66 3b f8             	cmp    %ax,%di
438e7c:	0f 83 40 02 00 00    	jae    0x4390c2
438e82:	b8 fd bf 00 00       	mov    $0xbffd,%eax
438e87:	66 3b f0             	cmp    %ax,%si
438e8a:	0f 87 32 02 00 00    	ja     0x4390c2
438e90:	b8 bf 3f 00 00       	mov    $0x3fbf,%eax
438e95:	66 3b f0             	cmp    %ax,%si
438e98:	77 08                	ja     0x438ea2
438e9a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
438e9d:	e9 37 02 00 00       	jmp    0x4390d9
438ea2:	66 85 d2             	test   %dx,%dx
438ea5:	75 24                	jne    0x438ecb
438ea7:	46                   	inc    %esi
438ea8:	f7 45 cc ff ff ff 7f 	testl  $0x7fffffff,-0x34(%ebp)
438eaf:	89 75 94             	mov    %esi,-0x6c(%ebp)
438eb2:	75 17                	jne    0x438ecb
438eb4:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
438eb8:	75 11                	jne    0x438ecb
438eba:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
438ebe:	75 0b                	jne    0x438ecb
438ec0:	33 c0                	xor    %eax,%eax
438ec2:	66 89 45 ce          	mov    %ax,-0x32(%ebp)
438ec6:	e9 14 02 00 00       	jmp    0x4390df
438ecb:	66 85 ff             	test   %di,%di
438ece:	75 16                	jne    0x438ee6
438ed0:	46                   	inc    %esi
438ed1:	f7 41 08 ff ff ff 7f 	testl  $0x7fffffff,0x8(%ecx)
438ed8:	89 75 94             	mov    %esi,-0x6c(%ebp)
438edb:	75 09                	jne    0x438ee6
438edd:	39 59 04             	cmp    %ebx,0x4(%ecx)
438ee0:	75 04                	jne    0x438ee6
438ee2:	39 19                	cmp    %ebx,(%ecx)
438ee4:	74 b4                	je     0x438e9a
438ee6:	6a 05                	push   $0x5
438ee8:	8b c3                	mov    %ebx,%eax
438eea:	8d 55 d8             	lea    -0x28(%ebp),%edx
438eed:	5f                   	pop    %edi
438eee:	89 45 8c             	mov    %eax,-0x74(%ebp)
438ef1:	89 7d 98             	mov    %edi,-0x68(%ebp)
438ef4:	89 7d a4             	mov    %edi,-0x5c(%ebp)
438ef7:	85 ff                	test   %edi,%edi
438ef9:	7e 58                	jle    0x438f53
438efb:	8d 75 c4             	lea    -0x3c(%ebp),%esi
438efe:	8d 34 46             	lea    (%esi,%eax,2),%esi
438f01:	8d 41 08             	lea    0x8(%ecx),%eax
438f04:	89 45 9c             	mov    %eax,-0x64(%ebp)
438f07:	0f b7 06             	movzwl (%esi),%eax
438f0a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
438f0d:	8b 45 9c             	mov    -0x64(%ebp),%eax
438f10:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
438f13:	89 5d 88             	mov    %ebx,-0x78(%ebp)
438f16:	0f b7 00             	movzwl (%eax),%eax
438f19:	0f af c8             	imul   %eax,%ecx
438f1c:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
438f1f:	03 4a fc             	add    -0x4(%edx),%ecx
438f22:	3b 4a fc             	cmp    -0x4(%edx),%ecx
438f25:	72 05                	jb     0x438f2c
438f27:	3b 4d a4             	cmp    -0x5c(%ebp),%ecx
438f2a:	73 05                	jae    0x438f31
438f2c:	33 c0                	xor    %eax,%eax
438f2e:	40                   	inc    %eax
438f2f:	eb 03                	jmp    0x438f34
438f31:	8b 45 88             	mov    -0x78(%ebp),%eax
438f34:	89 4a fc             	mov    %ecx,-0x4(%edx)
438f37:	85 c0                	test   %eax,%eax
438f39:	74 03                	je     0x438f3e
438f3b:	66 ff 02             	incw   (%edx)
438f3e:	83 6d 9c 02          	subl   $0x2,-0x64(%ebp)
438f42:	83 c6 02             	add    $0x2,%esi
438f45:	4f                   	dec    %edi
438f46:	85 ff                	test   %edi,%edi
438f48:	7f bd                	jg     0x438f07
438f4a:	8b 4d b0             	mov    -0x50(%ebp),%ecx
438f4d:	8b 7d 98             	mov    -0x68(%ebp),%edi
438f50:	8b 45 8c             	mov    -0x74(%ebp),%eax
438f53:	83 c2 02             	add    $0x2,%edx
438f56:	40                   	inc    %eax
438f57:	4f                   	dec    %edi
438f58:	89 45 8c             	mov    %eax,-0x74(%ebp)
438f5b:	89 7d 98             	mov    %edi,-0x68(%ebp)
438f5e:	85 ff                	test   %edi,%edi
438f60:	7f 92                	jg     0x438ef4
438f62:	8b 75 94             	mov    -0x6c(%ebp),%esi
438f65:	8b 55 dc             	mov    -0x24(%ebp),%edx
438f68:	81 c6 02 c0 00 00    	add    $0xc002,%esi
438f6e:	8b 7d d4             	mov    -0x2c(%ebp),%edi
438f71:	89 55 b0             	mov    %edx,-0x50(%ebp)
438f74:	66 85 f6             	test   %si,%si
438f77:	7e 3b                	jle    0x438fb4
438f79:	85 d2                	test   %edx,%edx
438f7b:	78 32                	js     0x438faf
438f7d:	8b 45 d8             	mov    -0x28(%ebp),%eax
438f80:	8b d7                	mov    %edi,%edx
438f82:	c1 ea 1f             	shr    $0x1f,%edx
438f85:	8b c8                	mov    %eax,%ecx
438f87:	03 c0                	add    %eax,%eax
438f89:	c1 e9 1f             	shr    $0x1f,%ecx
438f8c:	0b c2                	or     %edx,%eax
438f8e:	03 ff                	add    %edi,%edi
438f90:	8b 55 b0             	mov    -0x50(%ebp),%edx
438f93:	89 45 d8             	mov    %eax,-0x28(%ebp)
438f96:	03 d2                	add    %edx,%edx
438f98:	b8 ff ff 00 00       	mov    $0xffff,%eax
438f9d:	89 7d d4             	mov    %edi,-0x2c(%ebp)
438fa0:	0b d1                	or     %ecx,%edx
438fa2:	03 f0                	add    %eax,%esi
438fa4:	89 55 b0             	mov    %edx,-0x50(%ebp)
438fa7:	89 55 dc             	mov    %edx,-0x24(%ebp)
438faa:	66 85 f6             	test   %si,%si
438fad:	7f ca                	jg     0x438f79
438faf:	66 85 f6             	test   %si,%si
438fb2:	7f 69                	jg     0x43901d
438fb4:	b8 ff ff 00 00       	mov    $0xffff,%eax
438fb9:	03 f0                	add    %eax,%esi
438fbb:	66 85 f6             	test   %si,%si
438fbe:	79 5d                	jns    0x43901d
438fc0:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
438fc3:	8b c6                	mov    %esi,%eax
438fc5:	f7 d8                	neg    %eax
438fc7:	0f b7 c0             	movzwl %ax,%eax
438fca:	89 45 98             	mov    %eax,-0x68(%ebp)
438fcd:	03 f0                	add    %eax,%esi
438fcf:	f6 45 d4 01          	testb  $0x1,-0x2c(%ebp)
438fd3:	74 01                	je     0x438fd6
438fd5:	43                   	inc    %ebx
438fd6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
438fd9:	8b c2                	mov    %edx,%eax
438fdb:	c1 e0 1f             	shl    $0x1f,%eax
438fde:	89 4d b0             	mov    %ecx,-0x50(%ebp)
438fe1:	d1 6d b0             	shrl   $1,-0x50(%ebp)
438fe4:	09 45 b0             	or     %eax,-0x50(%ebp)
438fe7:	8b 45 b0             	mov    -0x50(%ebp),%eax
438fea:	c1 e1 1f             	shl    $0x1f,%ecx
438fed:	d1 ef                	shr    $1,%edi
438fef:	d1 ea                	shr    $1,%edx
438ff1:	0b f9                	or     %ecx,%edi
438ff3:	ff 4d 98             	decl   -0x68(%ebp)
438ff6:	89 55 dc             	mov    %edx,-0x24(%ebp)
438ff9:	89 45 d8             	mov    %eax,-0x28(%ebp)
438ffc:	89 7d d4             	mov    %edi,-0x2c(%ebp)
438fff:	75 ce                	jne    0x438fcf
439001:	6a 00                	push   $0x0
439003:	85 db                	test   %ebx,%ebx
439005:	89 55 b0             	mov    %edx,-0x50(%ebp)
439008:	5b                   	pop    %ebx
439009:	74 12                	je     0x43901d
43900b:	66 8b c7             	mov    %di,%ax
43900e:	33 ff                	xor    %edi,%edi
439010:	47                   	inc    %edi
439011:	66 0b c7             	or     %di,%ax
439014:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
439018:	8b 7d d4             	mov    -0x2c(%ebp),%edi
43901b:	eb 04                	jmp    0x439021
43901d:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
439021:	ba 00 80 00 00       	mov    $0x8000,%edx
439026:	66 3b c2             	cmp    %dx,%ax
439029:	77 0e                	ja     0x439039
43902b:	81 e7 ff ff 01 00    	and    $0x1ffff,%edi
439031:	81 ff 00 80 01 00    	cmp    $0x18000,%edi
439037:	75 40                	jne    0x439079
439039:	8b 45 d6             	mov    -0x2a(%ebp),%eax
43903c:	83 f8 ff             	cmp    $0xffffffff,%eax
43903f:	75 34                	jne    0x439075
439041:	8b 45 da             	mov    -0x26(%ebp),%eax
439044:	89 5d d6             	mov    %ebx,-0x2a(%ebp)
439047:	83 f8 ff             	cmp    $0xffffffff,%eax
43904a:	75 20                	jne    0x43906c
43904c:	66 8b 45 de          	mov    -0x22(%ebp),%ax
439050:	b9 ff ff 00 00       	mov    $0xffff,%ecx
439055:	89 5d da             	mov    %ebx,-0x26(%ebp)
439058:	66 3b c1             	cmp    %cx,%ax
43905b:	75 07                	jne    0x439064
43905d:	66 89 55 de          	mov    %dx,-0x22(%ebp)
439061:	46                   	inc    %esi
439062:	eb 0c                	jmp    0x439070
439064:	66 40                	inc    %ax
439066:	66 89 45 de          	mov    %ax,-0x22(%ebp)
43906a:	eb 04                	jmp    0x439070
43906c:	40                   	inc    %eax
43906d:	89 45 da             	mov    %eax,-0x26(%ebp)
439070:	8b 4d dc             	mov    -0x24(%ebp),%ecx
439073:	eb 07                	jmp    0x43907c
439075:	40                   	inc    %eax
439076:	89 45 d6             	mov    %eax,-0x2a(%ebp)
439079:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43907c:	8b 55 ac             	mov    -0x54(%ebp),%edx
43907f:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
439084:	66 3b f0             	cmp    %ax,%si
439087:	72 1f                	jb     0x4390a8
439089:	33 c0                	xor    %eax,%eax
43908b:	89 5d c8             	mov    %ebx,-0x38(%ebp)
43908e:	66 39 45 a0          	cmp    %ax,-0x60(%ebp)
439092:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
439095:	0f 94 c0             	sete   %al
439098:	48                   	dec    %eax
439099:	25 00 00 00 80       	and    $0x80000000,%eax
43909e:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
4390a3:	89 45 cc             	mov    %eax,-0x34(%ebp)
4390a6:	eb 3a                	jmp    0x4390e2
4390a8:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
4390ac:	0b 75 a0             	or     -0x60(%ebp),%esi
4390af:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
4390b3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4390b6:	89 45 c6             	mov    %eax,-0x3a(%ebp)
4390b9:	89 4d ca             	mov    %ecx,-0x36(%ebp)
4390bc:	66 89 75 ce          	mov    %si,-0x32(%ebp)
4390c0:	eb 20                	jmp    0x4390e2
4390c2:	33 c0                	xor    %eax,%eax
4390c4:	66 39 45 a0          	cmp    %ax,-0x60(%ebp)
4390c8:	0f 94 c0             	sete   %al
4390cb:	48                   	dec    %eax
4390cc:	25 00 00 00 80       	and    $0x80000000,%eax
4390d1:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
4390d6:	89 45 cc             	mov    %eax,-0x34(%ebp)
4390d9:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4390dc:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4390df:	8b 55 ac             	mov    -0x54(%ebp),%edx
4390e2:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4390e5:	85 f6                	test   %esi,%esi
4390e7:	0f 85 13 fd ff ff    	jne    0x438e00
4390ed:	8b 45 cc             	mov    -0x34(%ebp),%eax
4390f0:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
4390f4:	8b 55 c6             	mov    -0x3a(%ebp),%edx
4390f7:	8b 75 ca             	mov    -0x36(%ebp),%esi
4390fa:	c1 e8 10             	shr    $0x10,%eax
4390fd:	eb 32                	jmp    0x439131