8ebe02:	85 ff                	test   %edi,%edi
8ebe04:	74 71                	je     0x8ebe77
8ebe06:	8b 5d 08             	mov    0x8(%ebp),%ebx
8ebe09:	8b 33                	mov    (%ebx),%esi
8ebe0b:	85 f6                	test   %esi,%esi
8ebe0d:	74 68                	je     0x8ebe77
8ebe0f:	83 fe ff             	cmp    $0xffffffff,%esi
8ebe12:	75 1a                	jne    0x8ebe2e
8ebe14:	33 c9                	xor    %ecx,%ecx
8ebe16:	39 4a 08             	cmp    %ecx,0x8(%edx)
8ebe19:	76 13                	jbe    0x8ebe2e
8ebe1b:	8b c7                	mov    %edi,%eax
8ebe1d:	8b 30                	mov    (%eax),%esi
8ebe1f:	85 f6                	test   %esi,%esi
8ebe21:	75 0b                	jne    0x8ebe2e
8ebe23:	41                   	inc    %ecx
8ebe24:	83 c0 04             	add    $0x4,%eax
8ebe27:	3b 4a 08             	cmp    0x8(%edx),%ecx
8ebe2a:	72 f1                	jb     0x8ebe1d
8ebe2c:	eb 49                	jmp    0x8ebe77
8ebe2e:	8b 4e 08             	mov    0x8(%esi),%ecx
8ebe31:	85 c9                	test   %ecx,%ecx
8ebe33:	75 28                	jne    0x8ebe5d
8ebe35:	8b 42 08             	mov    0x8(%edx),%eax
8ebe38:	33 d2                	xor    %edx,%edx
8ebe3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
8ebe3d:	8b 46 0c             	mov    0xc(%esi),%eax
8ebe40:	f7 75 fc             	divl   -0x4(%ebp)
8ebe43:	42                   	inc    %edx
8ebe44:	3b 55 fc             	cmp    -0x4(%ebp),%edx
8ebe47:	73 14                	jae    0x8ebe5d
8ebe49:	8d 04 97             	lea    (%edi,%edx,4),%eax
8ebe4c:	8b 7d fc             	mov    -0x4(%ebp),%edi
8ebe4f:	8b 08                	mov    (%eax),%ecx
8ebe51:	85 c9                	test   %ecx,%ecx
8ebe53:	75 08                	jne    0x8ebe5d
8ebe55:	42                   	inc    %edx
8ebe56:	83 c0 04             	add    $0x4,%eax
8ebe59:	3b d7                	cmp    %edi,%edx
8ebe5b:	72 f2                	jb     0x8ebe4f
8ebe5d:	8b 45 0c             	mov    0xc(%ebp),%eax
8ebe60:	89 0b                	mov    %ecx,(%ebx)
8ebe62:	8b 0e                	mov    (%esi),%ecx
8ebe64:	5f                   	pop    %edi
8ebe65:	89 08                	mov    %ecx,(%eax)
8ebe67:	8b 45 10             	mov    0x10(%ebp),%eax
8ebe6a:	8b 4e 04             	mov    0x4(%esi),%ecx
8ebe6d:	5e                   	pop    %esi
8ebe6e:	5b                   	pop    %ebx
8ebe6f:	89 08                	mov    %ecx,(%eax)
8ebe71:	8b e5                	mov    %ebp,%esp
8ebe73:	5d                   	pop    %ebp
8ebe74:	c2 0c 00             	ret    $0xc
8ebe77:	e8 ea 60 b4 ff       	call   0x431f66
8ebe7c:	cc                   	int3
8ebe7d:	cc                   	int3
8ebe7e:	cc                   	int3
8ebe7f:	cc                   	int3
8ebe80:	cc                   	int3
8ebe81:	cc                   	int3
8ebe82:	cc                   	int3
8ebe83:	cc                   	int3
8ebe84:	cc                   	int3
8ebe85:	cc                   	int3
8ebe86:	cc                   	int3
8ebe87:	cc                   	int3
8ebe88:	cc                   	int3
8ebe89:	cc                   	int3
8ebe8a:	cc                   	int3
8ebe8b:	cc                   	int3
8ebe8c:	cc                   	int3
8ebe8d:	cc                   	int3
8ebe8e:	cc                   	int3
8ebe8f:	cc                   	int3
8ebe90:	cc                   	int3
8ebe91:	cc                   	int3
8ebe92:	cc                   	int3
8ebe93:	cc                   	int3
8ebe94:	cc                   	int3
8ebe95:	cc                   	int3
8ebe96:	cc                   	int3
8ebe97:	cc                   	int3
8ebe98:	cc                   	int3
8ebe99:	cc                   	int3
8ebe9a:	cc                   	int3
8ebe9b:	cc                   	int3
8ebe9c:	cc                   	int3
8ebe9d:	cc                   	int3
8ebe9e:	55                   	push   %ebp
8ebe9f:	8b ec                	mov    %esp,%ebp
8ebea1:	51                   	push   %ecx
8ebea2:	53                   	push   %ebx
8ebea3:	8b d1                	mov    %ecx,%edx
8ebea5:	56                   	push   %esi
8ebea6:	57                   	push   %edi
8ebea7:	8b 7a 04             	mov    0x4(%edx),%edi
8ebeaa:	85 ff                	test   %edi,%edi
8ebeac:	74 71                	je     0x8ebf1f
8ebeae:	8b 5d 08             	mov    0x8(%ebp),%ebx
8ebeb1:	8b 33                	mov    (%ebx),%esi
8ebeb3:	85 f6                	test   %esi,%esi
8ebeb5:	74 68                	je     0x8ebf1f
8ebeb7:	83 fe ff             	cmp    $0xffffffff,%esi
8ebeba:	75 1a                	jne    0x8ebed6
8ebebc:	33 c9                	xor    %ecx,%ecx
8ebebe:	39 4a 08             	cmp    %ecx,0x8(%edx)
8ebec1:	76 13                	jbe    0x8ebed6
8ebec3:	8b c7                	mov    %edi,%eax
8ebec5:	8b 30                	mov    (%eax),%esi
8ebec7:	85 f6                	test   %esi,%esi
8ebec9:	75 0b                	jne    0x8ebed6
8ebecb:	41                   	inc    %ecx
8ebecc:	83 c0 04             	add    $0x4,%eax
8ebecf:	3b 4a 08             	cmp    0x8(%edx),%ecx
8ebed2:	72 f1                	jb     0x8ebec5
8ebed4:	eb 49                	jmp    0x8ebf1f
8ebed6:	8b 4e 08             	mov    0x8(%esi),%ecx
8ebed9:	85 c9                	test   %ecx,%ecx
8ebedb:	75 28                	jne    0x8ebf05
8ebedd:	8b 42 08             	mov    0x8(%edx),%eax
8ebee0:	33 d2                	xor    %edx,%edx
8ebee2:	89 45 fc             	mov    %eax,-0x4(%ebp)
8ebee5:	8b 46 0c             	mov    0xc(%esi),%eax
8ebee8:	f7 75 fc             	divl   -0x4(%ebp)
8ebeeb:	42                   	inc    %edx
8ebeec:	3b 55 fc             	cmp    -0x4(%ebp),%edx
8ebeef:	73 14                	jae    0x8ebf05
8ebef1:	8d 04 97             	lea    (%edi,%edx,4),%eax
8ebef4:	8b 7d fc             	mov    -0x4(%ebp),%edi
8ebef7:	8b 08                	mov    (%eax),%ecx
8ebef9:	85 c9                	test   %ecx,%ecx
8ebefb:	75 08                	jne    0x8ebf05
8ebefd:	42                   	inc    %edx
8ebefe:	83 c0 04             	add    $0x4,%eax
8ebf01:	3b d7                	cmp    %edi,%edx
8ebf03:	72 f2                	jb     0x8ebef7
8ebf05:	8b 45 0c             	mov    0xc(%ebp),%eax
8ebf08:	89 0b                	mov    %ecx,(%ebx)
8ebf0a:	8b 0e                	mov    (%esi),%ecx
8ebf0c:	5f                   	pop    %edi
8ebf0d:	89 08                	mov    %ecx,(%eax)
8ebf0f:	8b 45 10             	mov    0x10(%ebp),%eax
8ebf12:	8b 4e 04             	mov    0x4(%esi),%ecx
8ebf15:	5e                   	pop    %esi
8ebf16:	5b                   	pop    %ebx
8ebf17:	89 08                	mov    %ecx,(%eax)
8ebf19:	8b e5                	mov    %ebp,%esp
8ebf1b:	5d                   	pop    %ebp
8ebf1c:	c2 0c 00             	ret    $0xc
8ebf1f:	e8 42 60 b4 ff       	call   0x431f66
8ebf24:	cc                   	int3
8ebf25:	cc                   	int3
8ebf26:	cc                   	int3
8ebf27:	cc                   	int3
8ebf28:	cc                   	int3
8ebf29:	cc                   	int3
8ebf2a:	cc                   	int3
8ebf2b:	cc                   	int3
8ebf2c:	cc                   	int3
8ebf2d:	cc                   	int3
8ebf2e:	cc                   	int3
8ebf2f:	cc                   	int3
8ebf30:	cc                   	int3
8ebf31:	cc                   	int3
8ebf32:	cc                   	int3
8ebf33:	cc                   	int3
8ebf34:	cc                   	int3
8ebf35:	cc                   	int3
8ebf36:	cc                   	int3
8ebf37:	cc                   	int3
8ebf38:	cc                   	int3
8ebf39:	cc                   	int3
8ebf3a:	cc                   	int3
8ebf3b:	cc                   	int3
8ebf3c:	cc                   	int3
8ebf3d:	cc                   	int3
8ebf3e:	cc                   	int3
8ebf3f:	cc                   	int3
8ebf40:	cc                   	int3
8ebf41:	cc                   	int3
8ebf42:	cc                   	int3
8ebf43:	cc                   	int3
8ebf44:	cc                   	int3
8ebf45:	cc                   	int3
8ebf46:	55                   	push   %ebp
8ebf47:	8b ec                	mov    %esp,%ebp
8ebf49:	51                   	push   %ecx
8ebf4a:	53                   	push   %ebx
8ebf4b:	8b d1                	mov    %ecx,%edx
8ebf4d:	56                   	push   %esi
8ebf4e:	57                   	push   %edi
8ebf4f:	8b 7a 04             	mov    0x4(%edx),%edi
8ebf52:	85 ff                	test   %edi,%edi
8ebf54:	74 73                	je     0x8ebfc9
8ebf56:	8b 5d 08             	mov    0x8(%ebp),%ebx
8ebf59:	8b 33                	mov    (%ebx),%esi
8ebf5b:	85 f6                	test   %esi,%esi
8ebf5d:	74 6a                	je     0x8ebfc9
8ebf5f:	83 fe ff             	cmp    $0xffffffff,%esi
8ebf62:	75 1a                	jne    0x8ebf7e
8ebf64:	33 c9                	xor    %ecx,%ecx
8ebf66:	39 4a 08             	cmp    %ecx,0x8(%edx)
8ebf69:	76 13                	jbe    0x8ebf7e
8ebf6b:	8b c7                	mov    %edi,%eax
8ebf6d:	8b 30                	mov    (%eax),%esi
8ebf6f:	85 f6                	test   %esi,%esi
8ebf71:	75 0b                	jne    0x8ebf7e
8ebf73:	41                   	inc    %ecx
8ebf74:	83 c0 04             	add    $0x4,%eax
8ebf77:	3b 4a 08             	cmp    0x8(%edx),%ecx
8ebf7a:	72 f1                	jb     0x8ebf6d
8ebf7c:	eb 4b                	jmp    0x8ebfc9
8ebf7e:	8b 4e 08             	mov    0x8(%esi),%ecx
8ebf81:	85 c9                	test   %ecx,%ecx
8ebf83:	75 28                	jne    0x8ebfad
8ebf85:	8b 42 08             	mov    0x8(%edx),%eax
8ebf88:	33 d2                	xor    %edx,%edx
8ebf8a:	89 45 fc             	mov    %eax,-0x4(%ebp)
8ebf8d:	8b 46 0c             	mov    0xc(%esi),%eax
8ebf90:	f7 75 fc             	divl   -0x4(%ebp)
8ebf93:	42                   	inc    %edx
8ebf94:	3b 55 fc             	cmp    -0x4(%ebp),%edx
8ebf97:	73 14                	jae    0x8ebfad
8ebf99:	8d 04 97             	lea    (%edi,%edx,4),%eax
8ebf9c:	8b 7d fc             	mov    -0x4(%ebp),%edi
8ebf9f:	8b 08                	mov    (%eax),%ecx
8ebfa1:	85 c9                	test   %ecx,%ecx
8ebfa3:	75 08                	jne    0x8ebfad
8ebfa5:	42                   	inc    %edx
8ebfa6:	83 c0 04             	add    $0x4,%eax
8ebfa9:	3b d7                	cmp    %edi,%edx
8ebfab:	72 f2                	jb     0x8ebf9f
8ebfad:	89 0b                	mov    %ecx,(%ebx)
8ebfaf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8ebfb2:	56                   	push   %esi
8ebfb3:	e8 35 67 b2 ff       	call   0x4126ed
8ebfb8:	8b 45 10             	mov    0x10(%ebp),%eax
8ebfbb:	8b 4e 04             	mov    0x4(%esi),%ecx
8ebfbe:	5f                   	pop    %edi
8ebfbf:	5e                   	pop    %esi
8ebfc0:	89 08                	mov    %ecx,(%eax)
8ebfc2:	5b                   	pop    %ebx
8ebfc3:	8b e5                	mov    %ebp,%esp
8ebfc5:	5d                   	pop    %ebp
8ebfc6:	c2 0c 00             	ret    $0xc
8ebfc9:	e8 98 5f b4 ff       	call   0x431f66
8ebfce:	cc                   	int3
8ebfcf:	cc                   	int3
8ebfd0:	cc                   	int3
8ebfd1:	cc                   	int3
8ebfd2:	cc                   	int3
8ebfd3:	cc                   	int3
8ebfd4:	cc                   	int3
8ebfd5:	cc                   	int3
8ebfd6:	cc                   	int3
8ebfd7:	cc                   	int3
8ebfd8:	cc                   	int3
8ebfd9:	cc                   	int3
8ebfda:	cc                   	int3
8ebfdb:	cc                   	int3
8ebfdc:	cc                   	int3
8ebfdd:	cc                   	int3
8ebfde:	cc                   	int3
8ebfdf:	cc                   	int3
8ebfe0:	cc                   	int3
8ebfe1:	cc                   	int3
8ebfe2:	cc                   	int3
8ebfe3:	cc                   	int3
8ebfe4:	cc                   	int3
8ebfe5:	cc                   	int3
8ebfe6:	cc                   	int3
8ebfe7:	cc                   	int3
8ebfe8:	cc                   	int3
8ebfe9:	cc                   	int3
8ebfea:	cc                   	int3
8ebfeb:	cc                   	int3
8ebfec:	cc                   	int3
8ebfed:	cc                   	int3
8ebfee:	cc                   	int3
8ebfef:	cc                   	int3
8ebff0:	cc                   	int3
8ebff1:	8d 81 58 0c 00 00    	lea    0xc58(%ecx),%eax
8ebff7:	c3                   	ret
8ebff8:	8b 41 0c             	mov    0xc(%ecx),%eax
8ebffb:	f7 d8                	neg    %eax
8ebffd:	1b c0                	sbb    %eax,%eax
8ebfff:	c3                   	ret
8ec000:	cc                   	int3
8ec001:	cc                   	int3
8ec002:	8b 41 0c             	mov    0xc(%ecx),%eax
8ec005:	f7 d8                	neg    %eax
8ec007:	1b c0                	sbb    %eax,%eax
8ec009:	c3                   	ret
8ec00a:	cc                   	int3
8ec00b:	cc                   	int3
8ec00c:	8b 41 0c             	mov    0xc(%ecx),%eax
8ec00f:	f7 d8                	neg    %eax
8ec011:	1b c0                	sbb    %eax,%eax
8ec013:	c3                   	ret
8ec014:	cc                   	int3
8ec015:	cc                   	int3
8ec016:	55                   	push   %ebp
8ec017:	8b ec                	mov    %esp,%ebp
8ec019:	56                   	push   %esi
8ec01a:	8b f1                	mov    %ecx,%esi
8ec01c:	57                   	push   %edi
8ec01d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
8ec021:	74 0d                	je     0x8ec030
8ec023:	ff 76 04             	push   0x4(%esi)
8ec026:	e8 e7 25 b5 ff       	call   0x43e612
8ec02b:	83 66 04 00          	andl   $0x0,0x4(%esi)
8ec02f:	59                   	pop    %ecx
8ec030:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
8ec034:	8b 7d 08             	mov    0x8(%ebp),%edi
8ec037:	74 31                	je     0x8ec06a
8ec039:	33 c9                	xor    %ecx,%ecx
8ec03b:	8b c7                	mov    %edi,%eax
8ec03d:	6a 04                	push   $0x4
8ec03f:	5a                   	pop    %edx
8ec040:	f7 e2                	mul    %edx
8ec042:	0f 90 c1             	seto   %cl
8ec045:	f7 d9                	neg    %ecx
8ec047:	0b c8                	or     %eax,%ecx
8ec049:	51                   	push   %ecx
8ec04a:	e8 48 97 b4 ff       	call   0x435797
8ec04f:	59                   	pop    %ecx
8ec050:	8b c8                	mov    %eax,%ecx
8ec052:	89 4e 04             	mov    %ecx,0x4(%esi)
8ec055:	85 c9                	test   %ecx,%ecx
8ec057:	74 1a                	je     0x8ec073
8ec059:	8b c7                	mov    %edi,%eax
8ec05b:	c1 e0 02             	shl    $0x2,%eax
8ec05e:	50                   	push   %eax
8ec05f:	6a 00                	push   $0x0
8ec061:	51                   	push   %ecx
8ec062:	e8 51 87 b2 ff       	call   0x4147b8
8ec067:	83 c4 0c             	add    $0xc,%esp
8ec06a:	89 7e 08             	mov    %edi,0x8(%esi)
8ec06d:	5f                   	pop    %edi
8ec06e:	5e                   	pop    %esi
8ec06f:	5d                   	pop    %ebp
8ec070:	c2 08 00             	ret    $0x8
8ec073:	e8 ee 5e b4 ff       	call   0x431f66
8ec078:	cc                   	int3
8ec079:	cc                   	int3
8ec07a:	cc                   	int3
8ec07b:	cc                   	int3
8ec07c:	cc                   	int3
8ec07d:	cc                   	int3
8ec07e:	cc                   	int3