856d83:	8b c8                	mov    %eax,%ecx
856d85:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
856d89:	e8 9c c3 ba ff       	call   0x40312a
856d8e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856d91:	8b d8                	mov    %eax,%ebx
856d93:	f7 db                	neg    %ebx
856d95:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
856d99:	1a db                	sbb    %bl,%bl
856d9b:	83 c1 f0             	add    $0xfffffff0,%ecx
856d9e:	e8 71 de ba ff       	call   0x404c14
856da3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856da6:	80 c3 01             	add    $0x1,%bl
856da9:	74 2b                	je     0x856dd6
856dab:	8b 45 f0             	mov    -0x10(%ebp),%eax
856dae:	33 db                	xor    %ebx,%ebx
856db0:	43                   	inc    %ebx
856db1:	89 5d cc             	mov    %ebx,-0x34(%ebp)
856db4:	8b 40 f4             	mov    -0xc(%eax),%eax
856db7:	83 c0 f9             	add    $0xfffffff9,%eax
856dba:	50                   	push   %eax
856dbb:	8d 45 ec             	lea    -0x14(%ebp),%eax
856dbe:	50                   	push   %eax
856dbf:	e8 d1 00 bd ff       	call   0x426e95
856dc4:	50                   	push   %eax
856dc5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856dc8:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
856dcc:	e8 1c b9 bb ff       	call   0x4126ed
856dd1:	e9 be 00 00 00       	jmp    0x856e94
856dd6:	6a 08                	push   $0x8
856dd8:	8d 45 ec             	lea    -0x14(%ebp),%eax
856ddb:	50                   	push   %eax
856ddc:	e8 08 0c bd ff       	call   0x4279e9
856de1:	68 58 e8 c3 00       	push   $0xc3e858
856de6:	8b c8                	mov    %eax,%ecx
856de8:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
856dec:	e8 39 c3 ba ff       	call   0x40312a
856df1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856df4:	8b d8                	mov    %eax,%ebx
856df6:	f7 db                	neg    %ebx
856df8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
856dfc:	1a db                	sbb    %bl,%bl
856dfe:	83 c1 f0             	add    $0xfffffff0,%ecx
856e01:	e8 0e de ba ff       	call   0x404c14
856e06:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856e09:	80 c3 01             	add    $0x1,%bl
856e0c:	74 20                	je     0x856e2e
856e0e:	8b 45 f0             	mov    -0x10(%ebp),%eax
856e11:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
856e18:	8b 40 f4             	mov    -0xc(%eax),%eax
856e1b:	83 c0 f8             	add    $0xfffffff8,%eax
856e1e:	50                   	push   %eax
856e1f:	8d 45 ec             	lea    -0x14(%ebp),%eax
856e22:	50                   	push   %eax
856e23:	e8 6d 00 bd ff       	call   0x426e95
856e28:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
856e2c:	eb 5a                	jmp    0x856e88
856e2e:	6a 0a                	push   $0xa
856e30:	8d 45 ec             	lea    -0x14(%ebp),%eax
856e33:	50                   	push   %eax
856e34:	e8 b0 0b bd ff       	call   0x4279e9
856e39:	68 70 e8 c3 00       	push   $0xc3e870
856e3e:	8b c8                	mov    %eax,%ecx
856e40:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
856e44:	e8 e1 c2 ba ff       	call   0x40312a
856e49:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856e4c:	8b d8                	mov    %eax,%ebx
856e4e:	f7 db                	neg    %ebx
856e50:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
856e54:	1a db                	sbb    %bl,%bl
856e56:	83 c1 f0             	add    $0xfffffff0,%ecx
856e59:	e8 b6 dd ba ff       	call   0x404c14
856e5e:	80 c3 01             	add    $0x1,%bl
856e61:	0f 84 f0 04 00 00    	je     0x857357
856e67:	8b 45 f0             	mov    -0x10(%ebp),%eax
856e6a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856e6d:	c7 45 cc 03 00 00 00 	movl   $0x3,-0x34(%ebp)
856e74:	8b 40 f4             	mov    -0xc(%eax),%eax
856e77:	83 c0 f6             	add    $0xfffffff6,%eax
856e7a:	50                   	push   %eax
856e7b:	8d 45 ec             	lea    -0x14(%ebp),%eax
856e7e:	50                   	push   %eax
856e7f:	e8 11 00 bd ff       	call   0x426e95
856e84:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
856e88:	50                   	push   %eax
856e89:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856e8c:	e8 5c b8 bb ff       	call   0x4126ed
856e91:	33 db                	xor    %ebx,%ebx
856e93:	43                   	inc    %ebx
856e94:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856e97:	88 5d fc             	mov    %bl,-0x4(%ebp)
856e9a:	8d 49 f0             	lea    -0x10(%ecx),%ecx
856e9d:	e8 72 dd ba ff       	call   0x404c14
856ea2:	6a 00                	push   $0x0
856ea4:	6a 22                	push   $0x22
856ea6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856ea9:	e8 10 4c bb ff       	call   0x40babe
856eae:	8b f0                	mov    %eax,%esi
856eb0:	83 fe ff             	cmp    $0xffffffff,%esi
856eb3:	0f 84 9e 04 00 00    	je     0x857357
856eb9:	56                   	push   %esi
856eba:	8d 45 ec             	lea    -0x14(%ebp),%eax
856ebd:	50                   	push   %eax
856ebe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856ec1:	e8 23 0b bd ff       	call   0x4279e9
856ec6:	50                   	push   %eax
856ec7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
856eca:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
856ece:	e8 1a b8 bb ff       	call   0x4126ed
856ed3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856ed6:	88 5d fc             	mov    %bl,-0x4(%ebp)
856ed9:	8d 49 f0             	lea    -0x10(%ecx),%ecx
856edc:	e8 33 dd ba ff       	call   0x404c14
856ee1:	8b 45 f0             	mov    -0x10(%ebp),%eax
856ee4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856ee7:	8b 40 f4             	mov    -0xc(%eax),%eax
856eea:	2b c6                	sub    %esi,%eax
856eec:	50                   	push   %eax
856eed:	8d 45 ec             	lea    -0x14(%ebp),%eax
856ef0:	50                   	push   %eax
856ef1:	e8 9f ff bc ff       	call   0x426e95
856ef6:	50                   	push   %eax
856ef7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
856efa:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
856efe:	e8 ea b7 bb ff       	call   0x4126ed
856f03:	8b 4d ec             	mov    -0x14(%ebp),%ecx
856f06:	88 5d fc             	mov    %bl,-0x4(%ebp)
856f09:	8d 49 f0             	lea    -0x10(%ecx),%ecx
856f0c:	e8 03 dd ba ff       	call   0x404c14
856f11:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
856f15:	e8 15 74 bd ff       	call   0x42e32f
856f1a:	8b 40 04             	mov    0x4(%eax),%eax
856f1d:	83 b8 94 00 00 00 00 	cmpl   $0x0,0x94(%eax)
856f24:	74 2c                	je     0x856f52
856f26:	e8 04 74 bd ff       	call   0x42e32f
856f2b:	8b 70 04             	mov    0x4(%eax),%esi
856f2e:	e8 fc 73 bd ff       	call   0x42e32f
856f33:	8b 48 04             	mov    0x4(%eax),%ecx
856f36:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
856f3c:	89 41 4c             	mov    %eax,0x4c(%ecx)
856f3f:	e8 eb 73 bd ff       	call   0x42e32f
856f44:	8d 4d b8             	lea    -0x48(%ebp),%ecx
856f47:	8b 40 04             	mov    0x4(%eax),%eax
856f4a:	89 88 94 00 00 00    	mov    %ecx,0x94(%eax)
856f50:	eb 11                	jmp    0x856f63
856f52:	e8 d8 73 bd ff       	call   0x42e32f
856f57:	8b 40 04             	mov    0x4(%eax),%eax
856f5a:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
856f60:	89 45 ec             	mov    %eax,-0x14(%ebp)
856f63:	39 5d cc             	cmp    %ebx,-0x34(%ebp)
856f66:	0f 85 88 00 00 00    	jne    0x856ff4
856f6c:	e8 be 73 bd ff       	call   0x42e32f
856f71:	8b 40 04             	mov    0x4(%eax),%eax
856f74:	8b 78 20             	mov    0x20(%eax),%edi
856f77:	e8 b3 73 bd ff       	call   0x42e32f
856f7c:	8b 40 04             	mov    0x4(%eax),%eax
856f7f:	8b 70 4c             	mov    0x4c(%eax),%esi
856f82:	83 fe ff             	cmp    $0xffffffff,%esi
856f85:	74 04                	je     0x856f8b
856f87:	3b f3                	cmp    %ebx,%esi
856f89:	75 15                	jne    0x856fa0
856f8b:	ff 77 20             	push   0x20(%edi)
856f8e:	ff 15 b0 3f d8 00    	call   *0xd83fb0
856f94:	8b f0                	mov    %eax,%esi
856f96:	f7 de                	neg    %esi
856f98:	1b f6                	sbb    %esi,%esi
856f9a:	83 e6 04             	and    $0x4,%esi
856f9d:	83 c6 05             	add    $0x5,%esi
856fa0:	56                   	push   %esi
856fa1:	8b cf                	mov    %edi,%ecx
856fa3:	e8 ef 8f bb ff       	call   0x40ff97
856fa8:	83 fe 06             	cmp    $0x6,%esi
856fab:	74 09                	je     0x856fb6
856fad:	ff 77 20             	push   0x20(%edi)
856fb0:	ff 15 80 3f d8 00    	call   *0xd83f80
856fb6:	e8 74 73 bd ff       	call   0x42e32f
856fbb:	ff 75 d0             	push   -0x30(%ebp)
856fbe:	8b 78 04             	mov    0x4(%eax),%edi
856fc1:	8b 07                	mov    (%edi),%eax
856fc3:	8b b0 a4 00 00 00    	mov    0xa4(%eax),%esi
856fc9:	8b ce                	mov    %esi,%ecx
856fcb:	e8 95 56 bd ff       	call   0x42c665
856fd0:	8b cf                	mov    %edi,%ecx
856fd2:	ff d6                	call   *%esi
856fd4:	e8 9d 73 bc ff       	call   0x41e376
856fd9:	85 c0                	test   %eax,%eax
856fdb:	75 06                	jne    0x856fe3
856fdd:	53                   	push   %ebx
856fde:	e8 91 a1 bd ff       	call   0x431174
856fe3:	e8 47 73 bd ff       	call   0x42e32f
856fe8:	8b 40 04             	mov    0x4(%eax),%eax
856feb:	83 48 4c ff          	orl    $0xffffffff,0x4c(%eax)
856fef:	e9 50 03 00 00       	jmp    0x857344
856ff4:	83 7d cc 03          	cmpl   $0x3,-0x34(%ebp)
856ff8:	0f 85 96 02 00 00    	jne    0x857294
856ffe:	6a 03                	push   $0x3
857000:	8d 45 e8             	lea    -0x18(%ebp),%eax
857003:	50                   	push   %eax
857004:	8d 4d f0             	lea    -0x10(%ebp),%ecx
857007:	e8 dd 09 bd ff       	call   0x4279e9
85700c:	68 8c e8 c3 00       	push   $0xc3e88c
857011:	8b c8                	mov    %eax,%ecx
857013:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
857017:	e8 0e c1 ba ff       	call   0x40312a
85701c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
85701f:	85 c0                	test   %eax,%eax
857021:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
857025:	0f 95 c3             	setne  %bl
857028:	8d 49 f0             	lea    -0x10(%ecx),%ecx
85702b:	e8 e4 db ba ff       	call   0x404c14
857030:	84 db                	test   %bl,%bl
857032:	74 07                	je     0x85703b
857034:	33 db                	xor    %ebx,%ebx
857036:	e9 09 03 00 00       	jmp    0x857344
85703b:	8b 45 f0             	mov    -0x10(%ebp),%eax
85703e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
857041:	8b 40 f4             	mov    -0xc(%eax),%eax
857044:	83 c0 fd             	add    $0xfffffffd,%eax
857047:	50                   	push   %eax
857048:	8d 45 e8             	lea    -0x18(%ebp),%eax
85704b:	50                   	push   %eax
85704c:	e8 44 fe bc ff       	call   0x426e95
857051:	50                   	push   %eax
857052:	8d 4d f0             	lea    -0x10(%ebp),%ecx
857055:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
857059:	e8 8f b6 bb ff       	call   0x4126ed
85705e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
857061:	33 db                	xor    %ebx,%ebx
857063:	43                   	inc    %ebx
857064:	88 5d fc             	mov    %bl,-0x4(%ebp)
857067:	8d 49 f0             	lea    -0x10(%ecx),%ecx
85706a:	e8 a5 db ba ff       	call   0x404c14
85706f:	6a 00                	push   $0x0
857071:	6a 22                	push   $0x22
857073:	8d 4d f0             	lea    -0x10(%ebp),%ecx
857076:	e8 43 4a bb ff       	call   0x40babe
85707b:	8b f0                	mov    %eax,%esi
85707d:	83 fe ff             	cmp    $0xffffffff,%esi
857080:	74 b2                	je     0x857034
857082:	56                   	push   %esi
857083:	8d 45 e8             	lea    -0x18(%ebp),%eax
857086:	50                   	push   %eax
857087:	8d 4d f0             	lea    -0x10(%ebp),%ecx
85708a:	e8 5a 09 bd ff       	call   0x4279e9
85708f:	50                   	push   %eax
857090:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
857093:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
857097:	e8 51 b6 bb ff       	call   0x4126ed
85709c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
85709f:	88 5d fc             	mov    %bl,-0x4(%ebp)
8570a2:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8570a5:	e8 6a db ba ff       	call   0x404c14
8570aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
8570ad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8570b0:	8b 40 f4             	mov    -0xc(%eax),%eax
8570b3:	2b c6                	sub    %esi,%eax
8570b5:	50                   	push   %eax
8570b6:	8d 45 e8             	lea    -0x18(%ebp),%eax
8570b9:	50                   	push   %eax
8570ba:	e8 d6 fd bc ff       	call   0x426e95
8570bf:	50                   	push   %eax
8570c0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8570c3:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
8570c7:	e8 21 b6 bb ff       	call   0x4126ed
8570cc:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8570cf:	88 5d fc             	mov    %bl,-0x4(%ebp)
8570d2:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8570d5:	e8 3a db ba ff       	call   0x404c14
8570da:	6a 03                	push   $0x3
8570dc:	8d 45 e8             	lea    -0x18(%ebp),%eax
8570df:	50                   	push   %eax
8570e0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8570e3:	e8 01 09 bd ff       	call   0x4279e9
8570e8:	68 8c e8 c3 00       	push   $0xc3e88c
8570ed:	8b c8                	mov    %eax,%ecx
8570ef:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
8570f3:	e8 32 c0 ba ff       	call   0x40312a
8570f8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8570fb:	85 c0                	test   %eax,%eax
8570fd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
857101:	0f 95 c3             	setne  %bl
857104:	8d 49 f0             	lea    -0x10(%ecx),%ecx
857107:	e8 08 db ba ff       	call   0x404c14
85710c:	84 db                	test   %bl,%bl
85710e:	0f 85 20 ff ff ff    	jne    0x857034
857114:	8b 45 f0             	mov    -0x10(%ebp),%eax
857117:	8d 4d f0             	lea    -0x10(%ebp),%ecx
85711a:	8b 40 f4             	mov    -0xc(%eax),%eax
85711d:	83 c0 fd             	add    $0xfffffffd,%eax
857120:	50                   	push   %eax
857121:	8d 45 e8             	lea    -0x18(%ebp),%eax
857124:	50                   	push   %eax
857125:	e8 6b fd bc ff       	call   0x426e95
85712a:	50                   	push   %eax
85712b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
85712e:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
857132:	e8 b6 b5 bb ff       	call   0x4126ed
857137:	8b 4d e8             	mov    -0x18(%ebp),%ecx
85713a:	33 db                	xor    %ebx,%ebx
85713c:	43                   	inc    %ebx
85713d:	88 5d fc             	mov    %bl,-0x4(%ebp)
857140:	8d 49 f0             	lea    -0x10(%ecx),%ecx
857143:	e8 cc da ba ff       	call   0x404c14
857148:	6a 00                	push   $0x0
85714a:	6a 22                	push   $0x22
85714c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
85714f:	e8 6a 49 bb ff       	call   0x40babe
857154:	8b f0                	mov    %eax,%esi
857156:	83 fe ff             	cmp    $0xffffffff,%esi
857159:	0f 84 d5 fe ff ff    	je     0x857034
85715f:	56                   	push   %esi
857160:	8d 45 e8             	lea    -0x18(%ebp),%eax
857163:	50                   	push   %eax
857164:	8d 4d f0             	lea    -0x10(%ebp),%ecx
857167:	e8 7d 08 bd ff       	call   0x4279e9
85716c:	50                   	push   %eax
85716d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
857170:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
857174:	e8 74 b5 bb ff       	call   0x4126ed
857179:	8b 4d e8             	mov    -0x18(%ebp),%ecx
85717c:	88 5d fc             	mov    %bl,-0x4(%ebp)
85717f:	8d 49 f0             	lea    -0x10(%ecx),%ecx
857182:	e8 8d da ba ff       	call   0x404c14
857187:	8b 45 f0             	mov    -0x10(%ebp),%eax
85718a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
85718d:	8b 40 f4             	mov    -0xc(%eax),%eax
857190:	2b c6                	sub    %esi,%eax
857192:	50                   	push   %eax
857193:	8d 45 e8             	lea    -0x18(%ebp),%eax
857196:	50                   	push   %eax
857197:	e8 f9 fc bc ff       	call   0x426e95
85719c:	50                   	push   %eax
85719d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8571a0:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
8571a4:	e8 44 b5 bb ff       	call   0x4126ed
8571a9:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8571ac:	88 5d fc             	mov    %bl,-0x4(%ebp)
8571af:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8571b2:	e8 5d da ba ff       	call   0x404c14
8571b7:	6a 03                	push   $0x3
8571b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
8571bc:	50                   	push   %eax
8571bd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
8571c0:	e8 24 08 bd ff       	call   0x4279e9
8571c5:	68 8c e8 c3 00       	push   $0xc3e88c
8571ca:	8b c8                	mov    %eax,%ecx
8571cc:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
8571d0:	e8 55 bf ba ff       	call   0x40312a
8571d5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8571d8:	85 c0                	test   %eax,%eax
8571da:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)