4eab0f:	ff 75 00             	push   0x0(%ebp)
4eab12:	e8 59 81 0e 00       	call   0x5d2c70
4eab17:	83 c4 0c             	add    $0xc,%esp
4eab1a:	8b 47 0c             	mov    0xc(%edi),%eax
4eab1d:	46                   	inc    %esi
4eab1e:	89 45 0c             	mov    %eax,0xc(%ebp)
4eab21:	8b 47 04             	mov    0x4(%edi),%eax
4eab24:	03 c6                	add    %esi,%eax
4eab26:	be 01 00 00 00       	mov    $0x1,%esi
4eab2b:	55                   	push   %ebp
4eab2c:	89 45 04             	mov    %eax,0x4(%ebp)
4eab2f:	e8 1c f9 fe ff       	call   0x4da450
4eab34:	83 c4 04             	add    $0x4,%esp
4eab37:	8b c6                	mov    %esi,%eax
4eab39:	5f                   	pop    %edi
4eab3a:	5e                   	pop    %esi
4eab3b:	5d                   	pop    %ebp
4eab3c:	5b                   	pop    %ebx
4eab3d:	83 c4 18             	add    $0x18,%esp
4eab40:	c3                   	ret
4eab41:	cc                   	int3
4eab42:	cc                   	int3
4eab43:	cc                   	int3
4eab44:	cc                   	int3
4eab45:	cc                   	int3
4eab46:	cc                   	int3
4eab47:	cc                   	int3
4eab48:	cc                   	int3
4eab49:	cc                   	int3
4eab4a:	cc                   	int3
4eab4b:	cc                   	int3
4eab4c:	cc                   	int3
4eab4d:	cc                   	int3
4eab4e:	cc                   	int3
4eab4f:	cc                   	int3
4eab50:	56                   	push   %esi
4eab51:	8b 74 24 0c          	mov    0xc(%esp),%esi
4eab55:	57                   	push   %edi
4eab56:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4eab5a:	3b fe                	cmp    %esi,%edi
4eab5c:	74 60                	je     0x4eabbe
4eab5e:	8b 46 0c             	mov    0xc(%esi),%eax
4eab61:	89 47 0c             	mov    %eax,0xc(%edi)
4eab64:	8b 46 04             	mov    0x4(%esi),%eax
4eab67:	40                   	inc    %eax
4eab68:	50                   	push   %eax
4eab69:	57                   	push   %edi
4eab6a:	e8 31 fa fe ff       	call   0x4da5a0
4eab6f:	83 c4 08             	add    $0x8,%esp
4eab72:	85 c0                	test   %eax,%eax
4eab74:	74 5a                	je     0x4eabd0
4eab76:	8b 46 04             	mov    0x4(%esi),%eax
4eab79:	89 47 04             	mov    %eax,0x4(%edi)
4eab7c:	53                   	push   %ebx
4eab7d:	8b 1f                	mov    (%edi),%ebx
4eab7f:	33 d2                	xor    %edx,%edx
4eab81:	55                   	push   %ebp
4eab82:	8b 2e                	mov    (%esi),%ebp
4eab84:	39 56 04             	cmp    %edx,0x4(%esi)
4eab87:	7e 26                	jle    0x4eabaf
4eab89:	33 ff                	xor    %edi,%edi
4eab8b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4eab90:	8b 4d 00             	mov    0x0(%ebp),%ecx
4eab93:	8d 6d 04             	lea    0x4(%ebp),%ebp
4eab96:	47                   	inc    %edi
4eab97:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
4eab9a:	0b c2                	or     %edx,%eax
4eab9c:	8b d1                	mov    %ecx,%edx
4eab9e:	89 03                	mov    %eax,(%ebx)
4eaba0:	83 c3 04             	add    $0x4,%ebx
4eaba3:	c1 ea 1f             	shr    $0x1f,%edx
4eaba6:	3b 7e 04             	cmp    0x4(%esi),%edi
4eaba9:	7c e5                	jl     0x4eab90
4eabab:	8b 7c 24 14          	mov    0x14(%esp),%edi
4eabaf:	5d                   	pop    %ebp
4eabb0:	89 13                	mov    %edx,(%ebx)
4eabb2:	b8 01 00 00 00       	mov    $0x1,%eax
4eabb7:	01 57 04             	add    %edx,0x4(%edi)
4eabba:	5b                   	pop    %ebx
4eabbb:	5f                   	pop    %edi
4eabbc:	5e                   	pop    %esi
4eabbd:	c3                   	ret
4eabbe:	8b 46 04             	mov    0x4(%esi),%eax
4eabc1:	40                   	inc    %eax
4eabc2:	50                   	push   %eax
4eabc3:	57                   	push   %edi
4eabc4:	e8 d7 f9 fe ff       	call   0x4da5a0
4eabc9:	83 c4 08             	add    $0x8,%esp
4eabcc:	85 c0                	test   %eax,%eax
4eabce:	75 ac                	jne    0x4eab7c
4eabd0:	5f                   	pop    %edi
4eabd1:	33 c0                	xor    %eax,%eax
4eabd3:	5e                   	pop    %esi
4eabd4:	c3                   	ret
4eabd5:	cc                   	int3
4eabd6:	cc                   	int3
4eabd7:	cc                   	int3
4eabd8:	cc                   	int3
4eabd9:	cc                   	int3
4eabda:	cc                   	int3
4eabdb:	cc                   	int3
4eabdc:	cc                   	int3
4eabdd:	cc                   	int3
4eabde:	cc                   	int3
4eabdf:	cc                   	int3
4eabe0:	b8 10 00 00 00       	mov    $0x10,%eax
4eabe5:	e8 c6 6b 0e 00       	call   0x5d17b0
4eabea:	57                   	push   %edi
4eabeb:	8b 7c 24 20          	mov    0x20(%esp),%edi
4eabef:	85 ff                	test   %edi,%edi
4eabf1:	79 22                	jns    0x4eac15
4eabf3:	68 9b 00 00 00       	push   $0x9b
4eabf8:	68 f4 50 61 00       	push   $0x6150f4
4eabfd:	6a 77                	push   $0x77
4eabff:	68 92 00 00 00       	push   $0x92
4eac04:	6a 03                	push   $0x3
4eac06:	e8 75 e3 fe ff       	call   0x4d8f80
4eac0b:	83 c4 14             	add    $0x14,%esp
4eac0e:	33 c0                	xor    %eax,%eax
4eac10:	5f                   	pop    %edi
4eac11:	83 c4 10             	add    $0x10,%esp
4eac14:	c3                   	ret
4eac15:	53                   	push   %ebx
4eac16:	55                   	push   %ebp
4eac17:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4eac1b:	8b df                	mov    %edi,%ebx
4eac1d:	c1 eb 05             	shr    $0x5,%ebx
4eac20:	56                   	push   %esi
4eac21:	8b 74 24 24          	mov    0x24(%esp),%esi
4eac25:	8b 4d 04             	mov    0x4(%ebp),%ecx
4eac28:	3b d9                	cmp    %ecx,%ebx
4eac2a:	7c 10                	jl     0x4eac3c
4eac2c:	6a 00                	push   $0x0
4eac2e:	56                   	push   %esi
4eac2f:	e8 ac f4 fe ff       	call   0x4da0e0
4eac34:	83 c4 08             	add    $0x8,%esp
4eac37:	e9 bb 00 00 00       	jmp    0x4eacf7
4eac3c:	83 e7 1f             	and    $0x1f,%edi
4eac3f:	2b cb                	sub    %ebx,%ecx
4eac41:	8b c7                	mov    %edi,%eax
4eac43:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4eac47:	f7 d8                	neg    %eax
4eac49:	83 e0 1f             	and    $0x1f,%eax
4eac4c:	8b d0                	mov    %eax,%edx
4eac4e:	89 44 24 14          	mov    %eax,0x14(%esp)
4eac52:	f7 da                	neg    %edx
4eac54:	8b c2                	mov    %edx,%eax
4eac56:	c1 e8 08             	shr    $0x8,%eax
4eac59:	0b d0                	or     %eax,%edx
4eac5b:	89 54 24 18          	mov    %edx,0x18(%esp)
4eac5f:	3b f5                	cmp    %ebp,%esi
4eac61:	74 27                	je     0x4eac8a
4eac63:	51                   	push   %ecx
4eac64:	56                   	push   %esi
4eac65:	e8 36 f9 fe ff       	call   0x4da5a0
4eac6a:	83 c4 08             	add    $0x8,%esp
4eac6d:	85 c0                	test   %eax,%eax
4eac6f:	75 15                	jne    0x4eac86
4eac71:	56                   	push   %esi
4eac72:	33 ff                	xor    %edi,%edi
4eac74:	e8 d7 f7 fe ff       	call   0x4da450
4eac79:	83 c4 04             	add    $0x4,%esp
4eac7c:	8b c7                	mov    %edi,%eax
4eac7e:	5e                   	pop    %esi
4eac7f:	5d                   	pop    %ebp
4eac80:	5b                   	pop    %ebx
4eac81:	5f                   	pop    %edi
4eac82:	83 c4 10             	add    $0x10,%esp
4eac85:	c3                   	ret
4eac86:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eac8a:	8b 06                	mov    (%esi),%eax
4eac8c:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4eac90:	8b 45 00             	mov    0x0(%ebp),%eax
4eac93:	33 ed                	xor    %ebp,%ebp
4eac95:	8d 14 98             	lea    (%eax,%ebx,4),%edx
4eac98:	8b 1a                	mov    (%edx),%ebx
4eac9a:	8d 41 ff             	lea    -0x1(%ecx),%eax
4eac9d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4eaca1:	85 c0                	test   %eax,%eax
4eaca3:	7e 36                	jle    0x4eacdb
4eaca5:	8d 72 04             	lea    0x4(%edx),%esi
4eaca8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4eacaf:	00
4eacb0:	8b 16                	mov    (%esi),%edx
4eacb2:	8d 76 04             	lea    0x4(%esi),%esi
4eacb5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4eacb9:	8b c2                	mov    %edx,%eax
4eacbb:	d3 e0                	shl    %cl,%eax
4eacbd:	8b cf                	mov    %edi,%ecx
4eacbf:	23 44 24 18          	and    0x18(%esp),%eax
4eacc3:	d3 eb                	shr    %cl,%ebx
4eacc5:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4eacc9:	0b c3                	or     %ebx,%eax
4eaccb:	8b da                	mov    %edx,%ebx
4eaccd:	89 04 a9             	mov    %eax,(%ecx,%ebp,4)
4eacd0:	45                   	inc    %ebp
4eacd1:	3b 6c 24 1c          	cmp    0x1c(%esp),%ebp
4eacd5:	7c d9                	jl     0x4eacb0
4eacd7:	8b 74 24 24          	mov    0x24(%esp),%esi
4eacdb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4eacdf:	8b cf                	mov    %edi,%ecx
4eace1:	d3 eb                	shr    %cl,%ebx
4eace3:	89 1c a8             	mov    %ebx,(%eax,%ebp,4)
4eace6:	8b 44 24 28          	mov    0x28(%esp),%eax
4eacea:	8b 40 0c             	mov    0xc(%eax),%eax
4eaced:	89 46 0c             	mov    %eax,0xc(%esi)
4eacf0:	8b 44 24 10          	mov    0x10(%esp),%eax
4eacf4:	89 46 04             	mov    %eax,0x4(%esi)
4eacf7:	56                   	push   %esi
4eacf8:	bf 01 00 00 00       	mov    $0x1,%edi
4eacfd:	e8 4e f7 fe ff       	call   0x4da450
4ead02:	83 c4 04             	add    $0x4,%esp
4ead05:	8b c7                	mov    %edi,%eax
4ead07:	5e                   	pop    %esi
4ead08:	5d                   	pop    %ebp
4ead09:	5b                   	pop    %ebx
4ead0a:	5f                   	pop    %edi
4ead0b:	83 c4 10             	add    $0x10,%esp
4ead0e:	c3                   	ret
4ead0f:	cc                   	int3
4ead10:	b8 04 00 00 00       	mov    $0x4,%eax
4ead15:	e8 96 6a 0e 00       	call   0x5d17b0
4ead1a:	57                   	push   %edi
4ead1b:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ead1f:	57                   	push   %edi
4ead20:	e8 3b f0 fe ff       	call   0x4d9d60
4ead25:	83 c4 04             	add    $0x4,%esp
4ead28:	85 c0                	test   %eax,%eax
4ead2a:	74 16                	je     0x4ead42
4ead2c:	6a 00                	push   $0x0
4ead2e:	ff 74 24 10          	push   0x10(%esp)
4ead32:	e8 a9 f3 fe ff       	call   0x4da0e0
4ead37:	83 c4 08             	add    $0x8,%esp
4ead3a:	b8 01 00 00 00       	mov    $0x1,%eax
4ead3f:	5f                   	pop    %edi
4ead40:	59                   	pop    %ecx
4ead41:	c3                   	ret
4ead42:	53                   	push   %ebx
4ead43:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4ead47:	55                   	push   %ebp
4ead48:	8b 2f                	mov    (%edi),%ebp
4ead4a:	56                   	push   %esi
4ead4b:	8b 77 04             	mov    0x4(%edi),%esi
4ead4e:	3b fb                	cmp    %ebx,%edi
4ead50:	74 1a                	je     0x4ead6c
4ead52:	56                   	push   %esi
4ead53:	53                   	push   %ebx
4ead54:	e8 47 f8 fe ff       	call   0x4da5a0
4ead59:	83 c4 08             	add    $0x8,%esp
4ead5c:	85 c0                	test   %eax,%eax
4ead5e:	75 06                	jne    0x4ead66
4ead60:	5e                   	pop    %esi
4ead61:	5d                   	pop    %ebp
4ead62:	5b                   	pop    %ebx
4ead63:	5f                   	pop    %edi
4ead64:	59                   	pop    %ecx
4ead65:	c3                   	ret
4ead66:	8b 47 0c             	mov    0xc(%edi),%eax
4ead69:	89 43 0c             	mov    %eax,0xc(%ebx)
4ead6c:	8b 03                	mov    (%ebx),%eax
4ead6e:	89 73 04             	mov    %esi,0x4(%ebx)
4ead71:	4e                   	dec    %esi
4ead72:	89 44 24 10          	mov    %eax,0x10(%esp)
4ead76:	8d 14 b0             	lea    (%eax,%esi,4),%edx
4ead79:	8b 4c b5 00          	mov    0x0(%ebp,%esi,4),%ecx
4ead7d:	8b c1                	mov    %ecx,%eax
4ead7f:	d1 e8                	shr    $1,%eax
4ead81:	8b f9                	mov    %ecx,%edi
4ead83:	89 02                	mov    %eax,(%edx)
4ead85:	33 c0                	xor    %eax,%eax
4ead87:	c1 e7 1f             	shl    $0x1f,%edi
4ead8a:	83 f9 01             	cmp    $0x1,%ecx
4ead8d:	0f 94 c0             	sete   %al
4ead90:	29 43 04             	sub    %eax,0x4(%ebx)
4ead93:	8b 43 04             	mov    0x4(%ebx),%eax
4ead96:	85 f6                	test   %esi,%esi
4ead98:	7e 22                	jle    0x4eadbc
4ead9a:	2b 6c 24 10          	sub    0x10(%esp),%ebp
4ead9e:	66 90                	xchg   %ax,%ax
4eada0:	8b 4c 2a fc          	mov    -0x4(%edx,%ebp,1),%ecx
4eada4:	8d 52 fc             	lea    -0x4(%edx),%edx
4eada7:	8b c1                	mov    %ecx,%eax
4eada9:	4e                   	dec    %esi
4eadaa:	d1 e8                	shr    $1,%eax
4eadac:	0b c7                	or     %edi,%eax
4eadae:	8b f9                	mov    %ecx,%edi
4eadb0:	c1 e7 1f             	shl    $0x1f,%edi
4eadb3:	89 02                	mov    %eax,(%edx)
4eadb5:	85 f6                	test   %esi,%esi
4eadb7:	7f e7                	jg     0x4eada0
4eadb9:	8b 43 04             	mov    0x4(%ebx),%eax
4eadbc:	85 c0                	test   %eax,%eax
4eadbe:	75 03                	jne    0x4eadc3
4eadc0:	89 43 0c             	mov    %eax,0xc(%ebx)
4eadc3:	5e                   	pop    %esi
4eadc4:	5d                   	pop    %ebp
4eadc5:	5b                   	pop    %ebx
4eadc6:	b8 01 00 00 00       	mov    $0x1,%eax
4eadcb:	5f                   	pop    %edi
4eadcc:	59                   	pop    %ecx
4eadcd:	c3                   	ret
4eadce:	cc                   	int3
4eadcf:	cc                   	int3
4eadd0:	b8 18 00 00 00       	mov    $0x18,%eax
4eadd5:	e8 d6 69 0e 00       	call   0x5d17b0
4eadda:	53                   	push   %ebx
4eaddb:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4eaddf:	55                   	push   %ebp
4eade0:	56                   	push   %esi
4eade1:	8b 74 24 30          	mov    0x30(%esp),%esi
4eade5:	8b c6                	mov    %esi,%eax
4eade7:	99                   	cltd
4eade8:	57                   	push   %edi
4eade9:	8b 7c 24 30          	mov    0x30(%esp),%edi
4eaded:	83 e2 1f             	and    $0x1f,%edx
4eadf0:	8b 4f 04             	mov    0x4(%edi),%ecx
4eadf3:	8d 2c 02             	lea    (%edx,%eax,1),%ebp
4eadf6:	c1 fd 05             	sar    $0x5,%ebp
4eadf9:	41                   	inc    %ecx
4eadfa:	03 cd                	add    %ebp,%ecx
4eadfc:	89 6c 24 24          	mov    %ebp,0x24(%esp)
4eae00:	51                   	push   %ecx
4eae01:	53                   	push   %ebx
4eae02:	e8 99 f7 fe ff       	call   0x4da5a0
4eae07:	83 c4 08             	add    $0x8,%esp
4eae0a:	85 c0                	test   %eax,%eax
4eae0c:	75 08                	jne    0x4eae16
4eae0e:	5f                   	pop    %edi
4eae0f:	5e                   	pop    %esi
4eae10:	5d                   	pop    %ebp
4eae11:	5b                   	pop    %ebx
4eae12:	83 c4 18             	add    $0x18,%esp
4eae15:	c3                   	ret
4eae16:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4eae1a:	8d 0c ad 00 00 00 00 	lea    0x0(,%ebp,4),%ecx
4eae21:	0f 84 b2 00 00 00    	je     0x4eaed9
4eae27:	83 e6 1f             	and    $0x1f,%esi
4eae2a:	8b ce                	mov    %esi,%ecx
4eae2c:	89 74 24 34          	mov    %esi,0x34(%esp)
4eae30:	8b 37                	mov    (%edi),%esi
4eae32:	f7 d9                	neg    %ecx
4eae34:	83 e1 1f             	and    $0x1f,%ecx
4eae37:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4eae3b:	8b d1                	mov    %ecx,%edx
4eae3d:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4eae41:	f7 da                	neg    %edx
4eae43:	8b c2                	mov    %edx,%eax
4eae45:	c1 e8 08             	shr    $0x8,%eax
4eae48:	0b d0                	or     %eax,%edx
4eae4a:	8b 03                	mov    (%ebx),%eax