5a8d5f:	0f a4 ca 01          	shld   $0x1,%ecx,%edx
5a8d63:	03 c9                	add    %ecx,%ecx
5a8d65:	03 ce                	add    %esi,%ecx
5a8d67:	8b f3                	mov    %ebx,%esi
5a8d69:	13 d0                	adc    %eax,%edx
5a8d6b:	2b 4c 24 20          	sub    0x20(%esp),%ecx
5a8d6f:	1b d3                	sbb    %ebx,%edx
5a8d71:	2b 4c 24 1c          	sub    0x1c(%esp),%ecx
5a8d75:	1b d3                	sbb    %ebx,%edx
5a8d77:	03 4f 10             	add    0x10(%edi),%ecx
5a8d7a:	13 d3                	adc    %ebx,%edx
5a8d7c:	03 cd                	add    %ebp,%ecx
5a8d7e:	89 4f 10             	mov    %ecx,0x10(%edi)
5a8d81:	13 d3                	adc    %ebx,%edx
5a8d83:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5a8d87:	03 cd                	add    %ebp,%ecx
5a8d89:	8b c2                	mov    %edx,%eax
5a8d8b:	13 f3                	adc    %ebx,%esi
5a8d8d:	c1 f8 1f             	sar    $0x1f,%eax
5a8d90:	0f a4 ce 01          	shld   $0x1,%ecx,%esi
5a8d94:	03 c9                	add    %ecx,%ecx
5a8d96:	03 ca                	add    %edx,%ecx
5a8d98:	8b 54 24 34          	mov    0x34(%esp),%edx
5a8d9c:	13 f0                	adc    %eax,%esi
5a8d9e:	2b 4c 24 20          	sub    0x20(%esp),%ecx
5a8da2:	8b c5                	mov    %ebp,%eax
5a8da4:	1b f3                	sbb    %ebx,%esi
5a8da6:	2b 4c 24 24          	sub    0x24(%esp),%ecx
5a8daa:	1b f3                	sbb    %ebx,%esi
5a8dac:	03 4f 14             	add    0x14(%edi),%ecx
5a8daf:	13 f3                	adc    %ebx,%esi
5a8db1:	03 4c 24 34          	add    0x34(%esp),%ecx
5a8db5:	89 4f 14             	mov    %ecx,0x14(%edi)
5a8db8:	13 f3                	adc    %ebx,%esi
5a8dba:	33 c9                	xor    %ecx,%ecx
5a8dbc:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
5a8dc0:	0f a4 d3 01          	shld   $0x1,%edx,%ebx
5a8dc4:	03 c0                	add    %eax,%eax
5a8dc6:	03 d2                	add    %edx,%edx
5a8dc8:	03 e8                	add    %eax,%ebp
5a8dca:	b8 00 00 00 00       	mov    $0x0,%eax
5a8dcf:	13 c1                	adc    %ecx,%eax
5a8dd1:	03 d5                	add    %ebp,%edx
5a8dd3:	13 d8                	adc    %eax,%ebx
5a8dd5:	8b c6                	mov    %esi,%eax
5a8dd7:	c1 f8 1f             	sar    $0x1f,%eax
5a8dda:	03 d6                	add    %esi,%edx
5a8ddc:	13 d8                	adc    %eax,%ebx
5a8dde:	2b 54 24 18          	sub    0x18(%esp),%edx
5a8de2:	83 db 00             	sbb    $0x0,%ebx
5a8de5:	2b 54 24 1c          	sub    0x1c(%esp),%edx
5a8de9:	83 db 00             	sbb    $0x0,%ebx
5a8dec:	03 57 18             	add    0x18(%edi),%edx
5a8def:	83 d3 00             	adc    $0x0,%ebx
5a8df2:	03 54 24 2c          	add    0x2c(%esp),%edx
5a8df6:	89 57 18             	mov    %edx,0x18(%edi)
5a8df9:	8b 54 24 34          	mov    0x34(%esp),%edx
5a8dfd:	83 d3 00             	adc    $0x0,%ebx
5a8e00:	33 c9                	xor    %ecx,%ecx
5a8e02:	8b c2                	mov    %edx,%eax
5a8e04:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
5a8e08:	03 c0                	add    %eax,%eax
5a8e0a:	03 d0                	add    %eax,%edx
5a8e0c:	b8 00 00 00 00       	mov    $0x0,%eax
5a8e11:	13 c1                	adc    %ecx,%eax
5a8e13:	89 44 24 10          	mov    %eax,0x10(%esp)
5a8e17:	8b c3                	mov    %ebx,%eax
5a8e19:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a8e1d:	c1 f8 1f             	sar    $0x1f,%eax
5a8e20:	03 d3                	add    %ebx,%edx
5a8e22:	13 c8                	adc    %eax,%ecx
5a8e24:	03 57 1c             	add    0x1c(%edi),%edx
5a8e27:	83 d1 00             	adc    $0x0,%ecx
5a8e2a:	2b 54 24 20          	sub    0x20(%esp),%edx
5a8e2e:	83 d9 00             	sbb    $0x0,%ecx
5a8e31:	2b 54 24 24          	sub    0x24(%esp),%edx
5a8e35:	83 d9 00             	sbb    $0x0,%ecx
5a8e38:	be 30 ba 4c 00       	mov    $0x4cba30,%esi
5a8e3d:	2b 54 24 28          	sub    0x28(%esp),%edx
5a8e41:	83 d9 00             	sbb    $0x0,%ecx
5a8e44:	2b 54 24 2c          	sub    0x2c(%esp),%edx
5a8e48:	83 d9 00             	sbb    $0x0,%ecx
5a8e4b:	03 54 24 18          	add    0x18(%esp),%edx
5a8e4f:	89 57 1c             	mov    %edx,0x1c(%edi)
5a8e52:	83 d1 00             	adc    $0x0,%ecx
5a8e55:	8b c1                	mov    %ecx,%eax
5a8e57:	c1 f8 1f             	sar    $0x1f,%eax
5a8e5a:	85 c9                	test   %ecx,%ecx
5a8e5c:	7e 1a                	jle    0x5a8e78
5a8e5e:	c1 e1 05             	shl    $0x5,%ecx
5a8e61:	6a 08                	push   $0x8
5a8e63:	8d 81 90 d0 6c 00    	lea    0x6cd090(%ecx),%eax
5a8e69:	50                   	push   %eax
5a8e6a:	57                   	push   %edi
5a8e6b:	57                   	push   %edi
5a8e6c:	e8 bf 2b f2 ff       	call   0x4cba30
5a8e71:	83 c4 10             	add    $0x10,%esp
5a8e74:	8b d8                	mov    %eax,%ebx
5a8e76:	eb 36                	jmp    0x5a8eae
5a8e78:	79 2f                	jns    0x5a8ea9
5a8e7a:	41                   	inc    %ecx
5a8e7b:	b8 b0 d0 6c 00       	mov    $0x6cd0b0,%eax
5a8e80:	c1 e1 05             	shl    $0x5,%ecx
5a8e83:	6a 08                	push   $0x8
5a8e85:	2b c1                	sub    %ecx,%eax
5a8e87:	50                   	push   %eax
5a8e88:	57                   	push   %edi
5a8e89:	57                   	push   %edi
5a8e8a:	e8 c1 19 f2 ff       	call   0x4ca850
5a8e8f:	8b d8                	mov    %eax,%ebx
5a8e91:	83 c4 10             	add    $0x10,%esp
5a8e94:	f7 d8                	neg    %eax
5a8e96:	8b f0                	mov    %eax,%esi
5a8e98:	25 30 ba 4c 00       	and    $0x4cba30,%eax
5a8e9d:	f7 d6                	not    %esi
5a8e9f:	81 e6 50 a8 4c 00    	and    $0x4ca850,%esi
5a8ea5:	0b f0                	or     %eax,%esi
5a8ea7:	eb 05                	jmp    0x5a8eae
5a8ea9:	bb 01 00 00 00       	mov    $0x1,%ebx
5a8eae:	6a 08                	push   $0x8
5a8eb0:	68 b0 d0 6c 00       	push   $0x6cd0b0
5a8eb5:	8d 44 24 40          	lea    0x40(%esp),%eax
5a8eb9:	57                   	push   %edi
5a8eba:	50                   	push   %eax
5a8ebb:	ff d6                	call   *%esi
5a8ebd:	f7 d8                	neg    %eax
5a8ebf:	8b 74 24 24          	mov    0x24(%esp),%esi
5a8ec3:	f7 db                	neg    %ebx
5a8ec5:	8d 54 24 48          	lea    0x48(%esp),%edx
5a8ec9:	23 c3                	and    %ebx,%eax
5a8ecb:	83 c4 10             	add    $0x10,%esp
5a8ece:	8b c8                	mov    %eax,%ecx
5a8ed0:	23 c7                	and    %edi,%eax
5a8ed2:	f7 d1                	not    %ecx
5a8ed4:	23 ca                	and    %edx,%ecx
5a8ed6:	0b c8                	or     %eax,%ecx
5a8ed8:	8b 01                	mov    (%ecx),%eax
5a8eda:	89 07                	mov    %eax,(%edi)
5a8edc:	8b 41 04             	mov    0x4(%ecx),%eax
5a8edf:	89 47 04             	mov    %eax,0x4(%edi)
5a8ee2:	8b 41 08             	mov    0x8(%ecx),%eax
5a8ee5:	89 47 08             	mov    %eax,0x8(%edi)
5a8ee8:	8b 41 0c             	mov    0xc(%ecx),%eax
5a8eeb:	89 47 0c             	mov    %eax,0xc(%edi)
5a8eee:	8b 41 10             	mov    0x10(%ecx),%eax
5a8ef1:	89 47 10             	mov    %eax,0x10(%edi)
5a8ef4:	8b 41 14             	mov    0x14(%ecx),%eax
5a8ef7:	89 47 14             	mov    %eax,0x14(%edi)
5a8efa:	8b 41 18             	mov    0x18(%ecx),%eax
5a8efd:	89 47 18             	mov    %eax,0x18(%edi)
5a8f00:	8b 41 1c             	mov    0x1c(%ecx),%eax
5a8f03:	b9 08 00 00 00       	mov    $0x8,%ecx
5a8f08:	89 47 1c             	mov    %eax,0x1c(%edi)
5a8f0b:	8b 16                	mov    (%esi),%edx
5a8f0d:	c7 46 04 08 00 00 00 	movl   $0x8,0x4(%esi)
5a8f14:	83 c2 1c             	add    $0x1c,%edx
5a8f17:	8b 02                	mov    (%edx),%eax
5a8f19:	8d 52 fc             	lea    -0x4(%edx),%edx
5a8f1c:	85 c0                	test   %eax,%eax
5a8f1e:	75 05                	jne    0x5a8f25
5a8f20:	49                   	dec    %ecx
5a8f21:	85 c9                	test   %ecx,%ecx
5a8f23:	7f f2                	jg     0x5a8f17
5a8f25:	89 4e 04             	mov    %ecx,0x4(%esi)
5a8f28:	85 c9                	test   %ecx,%ecx
5a8f2a:	75 03                	jne    0x5a8f2f
5a8f2c:	89 4e 0c             	mov    %ecx,0xc(%esi)
5a8f2f:	5f                   	pop    %edi
5a8f30:	5e                   	pop    %esi
5a8f31:	5d                   	pop    %ebp
5a8f32:	b8 01 00 00 00       	mov    $0x1,%eax
5a8f37:	5b                   	pop    %ebx
5a8f38:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a8f3c:	33 cc                	xor    %esp,%ecx
5a8f3e:	e8 97 85 03 00       	call   0x5e14da
5a8f43:	83 c4 4c             	add    $0x4c,%esp
5a8f46:	c3                   	ret
5a8f47:	57                   	push   %edi
5a8f48:	68 d0 d3 6c 00       	push   $0x6cd3d0
5a8f4d:	56                   	push   %esi
5a8f4e:	53                   	push   %ebx
5a8f4f:	e8 fc 5d fc ff       	call   0x56ed50
5a8f54:	8b 4c 24 68          	mov    0x68(%esp),%ecx
5a8f58:	83 c4 10             	add    $0x10,%esp
5a8f5b:	5f                   	pop    %edi
5a8f5c:	5e                   	pop    %esi
5a8f5d:	5d                   	pop    %ebp
5a8f5e:	5b                   	pop    %ebx
5a8f5f:	33 cc                	xor    %esp,%ecx
5a8f61:	e8 74 85 03 00       	call   0x5e14da
5a8f66:	83 c4 4c             	add    $0x4c,%esp
5a8f69:	c3                   	ret
5a8f6a:	cc                   	int3
5a8f6b:	cc                   	int3
5a8f6c:	cc                   	int3
5a8f6d:	cc                   	int3
5a8f6e:	cc                   	int3
5a8f6f:	cc                   	int3
5a8f70:	b8 6c 00 00 00       	mov    $0x6c,%eax
5a8f75:	e8 76 85 03 00       	call   0x5e14f0
5a8f7a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a8f7f:	33 c4                	xor    %esp,%eax
5a8f81:	89 44 24 68          	mov    %eax,0x68(%esp)
5a8f85:	53                   	push   %ebx
5a8f86:	8b 5c 24 74          	mov    0x74(%esp),%ebx
5a8f8a:	55                   	push   %ebp
5a8f8b:	56                   	push   %esi
5a8f8c:	8b b4 24 80 00 00 00 	mov    0x80(%esp),%esi
5a8f93:	57                   	push   %edi
5a8f94:	8b bc 24 8c 00 00 00 	mov    0x8c(%esp),%edi
5a8f9b:	89 5c 24 14          	mov    %ebx,0x14(%esp)
5a8f9f:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5a8fa3:	8b 46 04             	mov    0x4(%esi),%eax
5a8fa6:	8b 2e                	mov    (%esi),%ebp
5a8fa8:	89 44 24 10          	mov    %eax,0x10(%esp)
5a8fac:	0f 85 1f 04 00 00    	jne    0x5a93d1
5a8fb2:	68 48 d4 6c 00       	push   $0x6cd448
5a8fb7:	56                   	push   %esi
5a8fb8:	e8 93 a5 f0 ff       	call   0x4b3550
5a8fbd:	83 c4 08             	add    $0x8,%esp
5a8fc0:	85 c0                	test   %eax,%eax
5a8fc2:	0f 89 09 04 00 00    	jns    0x5a93d1
5a8fc8:	56                   	push   %esi
5a8fc9:	68 e4 d3 6c 00       	push   $0x6cd3e4
5a8fce:	e8 7d a5 f0 ff       	call   0x4b3550
5a8fd3:	83 c4 08             	add    $0x8,%esp
5a8fd6:	85 c0                	test   %eax,%eax
5a8fd8:	75 22                	jne    0x5a8ffc
5a8fda:	50                   	push   %eax
5a8fdb:	53                   	push   %ebx
5a8fdc:	e8 0f a5 f0 ff       	call   0x4b34f0
5a8fe1:	83 c4 08             	add    $0x8,%esp
5a8fe4:	5f                   	pop    %edi
5a8fe5:	5e                   	pop    %esi
5a8fe6:	5d                   	pop    %ebp
5a8fe7:	b8 01 00 00 00       	mov    $0x1,%eax
5a8fec:	5b                   	pop    %ebx
5a8fed:	8b 4c 24 68          	mov    0x68(%esp),%ecx
5a8ff1:	33 cc                	xor    %esp,%ecx
5a8ff3:	e8 e2 84 03 00       	call   0x5e14da
5a8ff8:	83 c4 6c             	add    $0x6c,%esp
5a8ffb:	c3                   	ret
5a8ffc:	7e 27                	jle    0x5a9025
5a8ffe:	3b de                	cmp    %esi,%ebx
5a9000:	74 e2                	je     0x5a8fe4
5a9002:	56                   	push   %esi
5a9003:	53                   	push   %ebx
5a9004:	e8 c7 a0 f0 ff       	call   0x4b30d0
5a9009:	83 c4 08             	add    $0x8,%esp
5a900c:	f7 d8                	neg    %eax
5a900e:	1b c0                	sbb    %eax,%eax
5a9010:	f7 d8                	neg    %eax
5a9012:	5f                   	pop    %edi
5a9013:	5e                   	pop    %esi
5a9014:	5d                   	pop    %ebp
5a9015:	5b                   	pop    %ebx
5a9016:	8b 4c 24 68          	mov    0x68(%esp),%ecx
5a901a:	33 cc                	xor    %esp,%ecx
5a901c:	e8 b9 84 03 00       	call   0x5e14da
5a9021:	83 c4 6c             	add    $0x6c,%esp
5a9024:	c3                   	ret
5a9025:	3b de                	cmp    %esi,%ebx
5a9027:	74 49                	je     0x5a9072
5a9029:	83 7b 08 0c          	cmpl   $0xc,0x8(%ebx)
5a902d:	7c 04                	jl     0x5a9033
5a902f:	8b c3                	mov    %ebx,%eax
5a9031:	eb 0b                	jmp    0x5a903e
5a9033:	6a 0c                	push   $0xc
5a9035:	53                   	push   %ebx
5a9036:	e8 65 a6 f0 ff       	call   0x4b36a0
5a903b:	83 c4 08             	add    $0x8,%esp
5a903e:	85 c0                	test   %eax,%eax
5a9040:	75 13                	jne    0x5a9055
5a9042:	5f                   	pop    %edi
5a9043:	5e                   	pop    %esi
5a9044:	5d                   	pop    %ebp
5a9045:	5b                   	pop    %ebx
5a9046:	8b 4c 24 68          	mov    0x68(%esp),%ecx
5a904a:	33 cc                	xor    %esp,%ecx
5a904c:	e8 89 84 03 00       	call   0x5e14da
5a9051:	83 c4 6c             	add    $0x6c,%esp
5a9054:	c3                   	ret
5a9055:	8b 3b                	mov    (%ebx),%edi
5a9057:	8b f5                	mov    %ebp,%esi
5a9059:	8b cf                	mov    %edi,%ecx
5a905b:	2b f7                	sub    %edi,%esi
5a905d:	ba 0c 00 00 00       	mov    $0xc,%edx
5a9062:	8b 04 0e             	mov    (%esi,%ecx,1),%eax
5a9065:	8d 49 04             	lea    0x4(%ecx),%ecx
5a9068:	89 41 fc             	mov    %eax,-0x4(%ecx)
5a906b:	83 ea 01             	sub    $0x1,%edx
5a906e:	75 f2                	jne    0x5a9062
5a9070:	eb 02                	jmp    0x5a9074
5a9072:	8b fd                	mov    %ebp,%edi
5a9074:	8b 44 24 10          	mov    0x10(%esp),%eax
5a9078:	83 c0 f4             	add    $0xfffffff4,%eax
5a907b:	6a 0c                	push   $0xc
5a907d:	50                   	push   %eax
5a907e:	8d 45 30             	lea    0x30(%ebp),%eax
5a9081:	50                   	push   %eax
5a9082:	8d 44 24 24          	lea    0x24(%esp),%eax
5a9086:	50                   	push   %eax
5a9087:	e8 74 05 00 00       	call   0x5a9600
5a908c:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
5a9090:	83 c4 10             	add    $0x10,%esp
5a9093:	2b 6c 24 44          	sub    0x44(%esp),%ebp
5a9097:	ba 00 00 00 00       	mov    $0x0,%edx
5a909c:	8b 74 24 18          	mov    0x18(%esp),%esi
5a90a0:	1b d2                	sbb    %edx,%edx
5a90a2:	8b 07                	mov    (%edi),%eax
5a90a4:	33 c9                	xor    %ecx,%ecx
5a90a6:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5a90aa:	03 c6                	add    %esi,%eax
5a90ac:	89 54 24 10          	mov    %edx,0x10(%esp)
5a90b0:	13 c9                	adc    %ecx,%ecx
5a90b2:	03 44 24 38          	add    0x38(%esp),%eax
5a90b6:	83 d1 00             	adc    $0x0,%ecx
5a90b9:	03 c5                	add    %ebp,%eax
5a90bb:	89 07                	mov    %eax,(%edi)
5a90bd:	13 ca                	adc    %edx,%ecx
5a90bf:	8b c1                	mov    %ecx,%eax
5a90c1:	c1 f8 1f             	sar    $0x1f,%eax
5a90c4:	2b ce                	sub    %esi,%ecx
5a90c6:	83 d8 00             	sbb    $0x0,%eax
5a90c9:	2b 4c 24 38          	sub    0x38(%esp),%ecx
5a90cd:	83 d8 00             	sbb    $0x0,%eax
5a90d0:	03 4f 04             	add    0x4(%edi),%ecx
5a90d3:	83 d0 00             	adc    $0x0,%eax
5a90d6:	03 cb                	add    %ebx,%ecx
5a90d8:	83 d0 00             	adc    $0x0,%eax
5a90db:	03 4c 24 40          	add    0x40(%esp),%ecx
5a90df:	83 d0 00             	adc    $0x0,%eax
5a90e2:	03 4c 24 44          	add    0x44(%esp),%ecx
5a90e6:	89 4f 04             	mov    %ecx,0x4(%edi)
5a90e9:	83 d0 00             	adc    $0x0,%eax
5a90ec:	8b d0                	mov    %eax,%edx
5a90ee:	c1 fa 1f             	sar    $0x1f,%edx
5a90f1:	03 47 08             	add    0x8(%edi),%eax
5a90f4:	83 d2 00             	adc    $0x0,%edx
5a90f7:	2b c3                	sub    %ebx,%eax
5a90f9:	83 da 00             	sbb    $0x0,%edx
5a90fc:	2b 44 24 3c          	sub    0x3c(%esp),%eax
5a9100:	83 da 00             	sbb    $0x0,%edx
5a9103:	03 44 24 20          	add    0x20(%esp),%eax
5a9107:	83 d2 00             	adc    $0x0,%edx
5a910a:	03 44 24 44          	add    0x44(%esp),%eax
5a910e:	89 47 08             	mov    %eax,0x8(%edi)
5a9111:	83 d2 00             	adc    $0x0,%edx
5a9114:	8b ca                	mov    %edx,%ecx
5a9116:	c1 f9 1f             	sar    $0x1f,%ecx