4eae4c:	89 54 24 18          	mov    %edx,0x18(%esp)
4eae50:	8d 14 ad 00 00 00 00 	lea    0x0(,%ebp,4),%edx
4eae57:	03 c2                	add    %edx,%eax
4eae59:	89 44 24 10          	mov    %eax,0x10(%esp)
4eae5d:	8b 47 04             	mov    0x4(%edi),%eax
4eae60:	8b 44 86 fc          	mov    -0x4(%esi,%eax,4),%eax
4eae64:	8b d0                	mov    %eax,%edx
4eae66:	8b 77 04             	mov    0x4(%edi),%esi
4eae69:	d3 ea                	shr    %cl,%edx
4eae6b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eae6f:	23 54 24 18          	and    0x18(%esp),%edx
4eae73:	89 14 b1             	mov    %edx,(%ecx,%esi,4)
4eae76:	8b 7f 04             	mov    0x4(%edi),%edi
4eae79:	8b 74 24 34          	mov    0x34(%esp),%esi
4eae7d:	4f                   	dec    %edi
4eae7e:	85 ff                	test   %edi,%edi
4eae80:	7e 40                	jle    0x4eaec2
4eae82:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4eae86:	8b ee                	mov    %esi,%ebp
4eae88:	83 c3 fc             	add    $0xfffffffc,%ebx
4eae8b:	8d 1c bb             	lea    (%ebx,%edi,4),%ebx
4eae8e:	66 90                	xchg   %ax,%ax
4eae90:	8b cd                	mov    %ebp,%ecx
4eae92:	8d 5b fc             	lea    -0x4(%ebx),%ebx
4eae95:	d3 e0                	shl    %cl,%eax
4eae97:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4eae9b:	8b f0                	mov    %eax,%esi
4eae9d:	8b 43 04             	mov    0x4(%ebx),%eax
4eaea0:	8b d0                	mov    %eax,%edx
4eaea2:	d3 ea                	shr    %cl,%edx
4eaea4:	23 54 24 18          	and    0x18(%esp),%edx
4eaea8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eaeac:	0b d6                	or     %esi,%edx
4eaeae:	89 14 b9             	mov    %edx,(%ecx,%edi,4)
4eaeb1:	4f                   	dec    %edi
4eaeb2:	85 ff                	test   %edi,%edi
4eaeb4:	7f da                	jg     0x4eae90
4eaeb6:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4eaeba:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4eaebe:	8b 74 24 34          	mov    0x34(%esp),%esi
4eaec2:	8b 7c 24 30          	mov    0x30(%esp),%edi
4eaec6:	8b ce                	mov    %esi,%ecx
4eaec8:	d3 e0                	shl    %cl,%eax
4eaeca:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eaece:	89 01                	mov    %eax,(%ecx)
4eaed0:	8d 0c ad 00 00 00 00 	lea    0x0(,%ebp,4),%ecx
4eaed7:	eb 09                	jmp    0x4eaee2
4eaed9:	8b 03                	mov    (%ebx),%eax
4eaedb:	c7 04 01 00 00 00 00 	movl   $0x0,(%ecx,%eax,1)
4eaee2:	85 ed                	test   %ebp,%ebp
4eaee4:	74 0d                	je     0x4eaef3
4eaee6:	51                   	push   %ecx
4eaee7:	6a 00                	push   $0x0
4eaee9:	ff 33                	push   (%ebx)
4eaeeb:	e8 80 7d 0e 00       	call   0x5d2c70
4eaef0:	83 c4 0c             	add    $0xc,%esp
4eaef3:	8b 47 0c             	mov    0xc(%edi),%eax
4eaef6:	89 43 0c             	mov    %eax,0xc(%ebx)
4eaef9:	8b 47 04             	mov    0x4(%edi),%eax
4eaefc:	5f                   	pop    %edi
4eaefd:	40                   	inc    %eax
4eaefe:	03 c5                	add    %ebp,%eax
4eaf00:	5e                   	pop    %esi
4eaf01:	89 43 04             	mov    %eax,0x4(%ebx)
4eaf04:	b8 01 00 00 00       	mov    $0x1,%eax
4eaf09:	5d                   	pop    %ebp
4eaf0a:	5b                   	pop    %ebx
4eaf0b:	83 c4 18             	add    $0x18,%esp
4eaf0e:	c3                   	ret
4eaf0f:	cc                   	int3
4eaf10:	b8 14 00 00 00       	mov    $0x14,%eax
4eaf15:	e8 96 68 0e 00       	call   0x5d17b0
4eaf1a:	53                   	push   %ebx
4eaf1b:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4eaf1f:	8b c3                	mov    %ebx,%eax
4eaf21:	55                   	push   %ebp
4eaf22:	99                   	cltd
4eaf23:	56                   	push   %esi
4eaf24:	83 e2 1f             	and    $0x1f,%edx
4eaf27:	57                   	push   %edi
4eaf28:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4eaf2c:	8d 34 02             	lea    (%edx,%eax,1),%esi
4eaf2f:	c1 fe 05             	sar    $0x5,%esi
4eaf32:	8b 6f 04             	mov    0x4(%edi),%ebp
4eaf35:	3b f5                	cmp    %ebp,%esi
4eaf37:	7c 1b                	jl     0x4eaf54
4eaf39:	6a 00                	push   $0x0
4eaf3b:	ff 74 24 2c          	push   0x2c(%esp)
4eaf3f:	e8 9c f1 fe ff       	call   0x4da0e0
4eaf44:	83 c4 08             	add    $0x8,%esp
4eaf47:	b8 01 00 00 00       	mov    $0x1,%eax
4eaf4c:	5f                   	pop    %edi
4eaf4d:	5e                   	pop    %esi
4eaf4e:	5d                   	pop    %ebp
4eaf4f:	5b                   	pop    %ebx
4eaf50:	83 c4 14             	add    $0x14,%esp
4eaf53:	c3                   	ret
4eaf54:	83 e3 1f             	and    $0x1f,%ebx
4eaf57:	2b ee                	sub    %esi,%ebp
4eaf59:	8b cb                	mov    %ebx,%ecx
4eaf5b:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4eaf5f:	f7 d9                	neg    %ecx
4eaf61:	83 e1 1f             	and    $0x1f,%ecx
4eaf64:	8b d1                	mov    %ecx,%edx
4eaf66:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4eaf6a:	f7 da                	neg    %edx
4eaf6c:	8b c2                	mov    %edx,%eax
4eaf6e:	c1 e8 08             	shr    $0x8,%eax
4eaf71:	0b d0                	or     %eax,%edx
4eaf73:	89 54 24 18          	mov    %edx,0x18(%esp)
4eaf77:	8b 54 24 28          	mov    0x28(%esp),%edx
4eaf7b:	3b d7                	cmp    %edi,%edx
4eaf7d:	74 1e                	je     0x4eaf9d
4eaf7f:	55                   	push   %ebp
4eaf80:	52                   	push   %edx
4eaf81:	e8 1a f6 fe ff       	call   0x4da5a0
4eaf86:	83 c4 08             	add    $0x8,%esp
4eaf89:	85 c0                	test   %eax,%eax
4eaf8b:	75 08                	jne    0x4eaf95
4eaf8d:	5f                   	pop    %edi
4eaf8e:	5e                   	pop    %esi
4eaf8f:	5d                   	pop    %ebp
4eaf90:	5b                   	pop    %ebx
4eaf91:	83 c4 14             	add    $0x14,%esp
4eaf94:	c3                   	ret
4eaf95:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4eaf99:	8b 54 24 28          	mov    0x28(%esp),%edx
4eaf9d:	8b 02                	mov    (%edx),%eax
4eaf9f:	89 44 24 10          	mov    %eax,0x10(%esp)
4eafa3:	8b 07                	mov    (%edi),%eax
4eafa5:	33 ff                	xor    %edi,%edi
4eafa7:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4eafaa:	8b 30                	mov    (%eax),%esi
4eafac:	89 44 24 14          	mov    %eax,0x14(%esp)
4eafb0:	8d 45 ff             	lea    -0x1(%ebp),%eax
4eafb3:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4eafb7:	85 c0                	test   %eax,%eax
4eafb9:	7e 37                	jle    0x4eaff2
4eafbb:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4eafbf:	83 c5 04             	add    $0x4,%ebp
4eafc2:	8b 55 00             	mov    0x0(%ebp),%edx
4eafc5:	8d 6d 04             	lea    0x4(%ebp),%ebp
4eafc8:	8b c2                	mov    %edx,%eax
4eafca:	d3 e0                	shl    %cl,%eax
4eafcc:	8b cb                	mov    %ebx,%ecx
4eafce:	23 44 24 18          	and    0x18(%esp),%eax
4eafd2:	d3 ee                	shr    %cl,%esi
4eafd4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eafd8:	0b c6                	or     %esi,%eax
4eafda:	8b f2                	mov    %edx,%esi
4eafdc:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
4eafdf:	47                   	inc    %edi
4eafe0:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4eafe4:	3b 7c 24 1c          	cmp    0x1c(%esp),%edi
4eafe8:	7c d8                	jl     0x4eafc2
4eafea:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4eafee:	8b 54 24 28          	mov    0x28(%esp),%edx
4eaff2:	8b 44 24 10          	mov    0x10(%esp),%eax
4eaff6:	8b cb                	mov    %ebx,%ecx
4eaff8:	d3 ee                	shr    %cl,%esi
4eaffa:	89 34 b8             	mov    %esi,(%eax,%edi,4)
4eaffd:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4eb001:	5f                   	pop    %edi
4eb002:	5e                   	pop    %esi
4eb003:	8b 40 0c             	mov    0xc(%eax),%eax
4eb006:	89 6a 04             	mov    %ebp,0x4(%edx)
4eb009:	5d                   	pop    %ebp
4eb00a:	89 42 0c             	mov    %eax,0xc(%edx)
4eb00d:	b8 01 00 00 00       	mov    $0x1,%eax
4eb012:	5b                   	pop    %ebx
4eb013:	83 c4 14             	add    $0x14,%esp
4eb016:	c3                   	ret
4eb017:	cc                   	int3
4eb018:	cc                   	int3
4eb019:	cc                   	int3
4eb01a:	cc                   	int3
4eb01b:	cc                   	int3
4eb01c:	cc                   	int3
4eb01d:	cc                   	int3
4eb01e:	cc                   	int3
4eb01f:	cc                   	int3
4eb020:	e8 bb ed fe ff       	call   0x4d9de0
4eb025:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4eb029:	8b d0                	mov    %eax,%edx
4eb02b:	33 c0                	xor    %eax,%eax
4eb02d:	85 d2                	test   %edx,%edx
4eb02f:	0f 95 c0             	setne  %al
4eb032:	89 11                	mov    %edx,(%ecx)
4eb034:	c3                   	ret
4eb035:	cc                   	int3
4eb036:	cc                   	int3
4eb037:	cc                   	int3
4eb038:	cc                   	int3
4eb039:	cc                   	int3
4eb03a:	cc                   	int3
4eb03b:	cc                   	int3
4eb03c:	cc                   	int3
4eb03d:	cc                   	int3
4eb03e:	cc                   	int3
4eb03f:	cc                   	int3
4eb040:	e8 3b ef fe ff       	call   0x4d9f80
4eb045:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4eb049:	8b d0                	mov    %eax,%edx
4eb04b:	33 c0                	xor    %eax,%eax
4eb04d:	85 d2                	test   %edx,%edx
4eb04f:	0f 95 c0             	setne  %al
4eb052:	89 11                	mov    %edx,(%ecx)
4eb054:	c3                   	ret
4eb055:	cc                   	int3
4eb056:	cc                   	int3
4eb057:	cc                   	int3
4eb058:	cc                   	int3
4eb059:	cc                   	int3
4eb05a:	cc                   	int3
4eb05b:	cc                   	int3
4eb05c:	cc                   	int3
4eb05d:	cc                   	int3
4eb05e:	cc                   	int3
4eb05f:	cc                   	int3
4eb060:	56                   	push   %esi
4eb061:	8b 74 24 08          	mov    0x8(%esp),%esi
4eb065:	8b 0e                	mov    (%esi),%ecx
4eb067:	85 c9                	test   %ecx,%ecx
4eb069:	74 29                	je     0x4eb094
4eb06b:	8b 44 24 0c          	mov    0xc(%esp),%eax
4eb06f:	51                   	push   %ecx
4eb070:	f6 40 14 01          	testb  $0x1,0x14(%eax)
4eb074:	74 10                	je     0x4eb086
4eb076:	e8 25 e8 fe ff       	call   0x4d98a0
4eb07b:	83 c4 04             	add    $0x4,%esp
4eb07e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4eb084:	5e                   	pop    %esi
4eb085:	c3                   	ret
4eb086:	e8 95 eb fe ff       	call   0x4d9c20
4eb08b:	83 c4 04             	add    $0x4,%esp
4eb08e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4eb094:	5e                   	pop    %esi
4eb095:	c3                   	ret
4eb096:	cc                   	int3
4eb097:	cc                   	int3
4eb098:	cc                   	int3
4eb099:	cc                   	int3
4eb09a:	cc                   	int3
4eb09b:	cc                   	int3
4eb09c:	cc                   	int3
4eb09d:	cc                   	int3
4eb09e:	cc                   	int3
4eb09f:	cc                   	int3
4eb0a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4eb0a4:	56                   	push   %esi
4eb0a5:	8b 30                	mov    (%eax),%esi
4eb0a7:	85 f6                	test   %esi,%esi
4eb0a9:	75 05                	jne    0x4eb0b0
4eb0ab:	83 c8 ff             	or     $0xffffffff,%eax
4eb0ae:	5e                   	pop    %esi
4eb0af:	c3                   	ret
4eb0b0:	53                   	push   %ebx
4eb0b1:	56                   	push   %esi
4eb0b2:	e8 69 ed fe ff       	call   0x4d9e20
4eb0b7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4eb0bb:	83 c4 04             	add    $0x4,%esp
4eb0be:	83 e0 07             	and    $0x7,%eax
4eb0c1:	bb 00 00 00 00       	mov    $0x0,%ebx
4eb0c6:	0f 94 c3             	sete   %bl
4eb0c9:	85 c9                	test   %ecx,%ecx
4eb0cb:	74 11                	je     0x4eb0de
4eb0cd:	85 c0                	test   %eax,%eax
4eb0cf:	75 03                	jne    0x4eb0d4
4eb0d1:	88 01                	mov    %al,(%ecx)
4eb0d3:	41                   	inc    %ecx
4eb0d4:	51                   	push   %ecx
4eb0d5:	56                   	push   %esi
4eb0d6:	e8 25 e7 fe ff       	call   0x4d9800
4eb0db:	83 c4 08             	add    $0x8,%esp
4eb0de:	56                   	push   %esi
4eb0df:	e8 3c ed fe ff       	call   0x4d9e20
4eb0e4:	83 c0 07             	add    $0x7,%eax
4eb0e7:	83 c4 04             	add    $0x4,%esp
4eb0ea:	99                   	cltd
4eb0eb:	83 e2 07             	and    $0x7,%edx
4eb0ee:	03 c2                	add    %edx,%eax
4eb0f0:	c1 f8 03             	sar    $0x3,%eax
4eb0f3:	03 c3                	add    %ebx,%eax
4eb0f5:	5b                   	pop    %ebx
4eb0f6:	5e                   	pop    %esi
4eb0f7:	c3                   	ret
4eb0f8:	cc                   	int3
4eb0f9:	cc                   	int3
4eb0fa:	cc                   	int3
4eb0fb:	cc                   	int3
4eb0fc:	cc                   	int3
4eb0fd:	cc                   	int3
4eb0fe:	cc                   	int3
4eb0ff:	cc                   	int3
4eb100:	56                   	push   %esi
4eb101:	8b 74 24 08          	mov    0x8(%esp),%esi
4eb105:	8b 06                	mov    (%esi),%eax
4eb107:	85 c0                	test   %eax,%eax
4eb109:	75 0b                	jne    0x4eb116
4eb10b:	e8 d0 ec fe ff       	call   0x4d9de0
4eb110:	89 06                	mov    %eax,(%esi)
4eb112:	85 c0                	test   %eax,%eax
4eb114:	74 46                	je     0x4eb15c
4eb116:	50                   	push   %eax
4eb117:	ff 74 24 14          	push   0x14(%esp)
4eb11b:	ff 74 24 14          	push   0x14(%esp)
4eb11f:	e8 4c e5 fe ff       	call   0x4d9670
4eb124:	83 c4 0c             	add    $0xc,%esp
4eb127:	85 c0                	test   %eax,%eax
4eb129:	75 35                	jne    0x4eb160
4eb12b:	8b 0e                	mov    (%esi),%ecx
4eb12d:	85 c9                	test   %ecx,%ecx
4eb12f:	74 2b                	je     0x4eb15c
4eb131:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4eb135:	51                   	push   %ecx
4eb136:	f6 40 14 01          	testb  $0x1,0x14(%eax)
4eb13a:	74 12                	je     0x4eb14e
4eb13c:	e8 5f e7 fe ff       	call   0x4d98a0
4eb141:	83 c4 04             	add    $0x4,%esp
4eb144:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4eb14a:	33 c0                	xor    %eax,%eax
4eb14c:	5e                   	pop    %esi
4eb14d:	c3                   	ret
4eb14e:	e8 cd ea fe ff       	call   0x4d9c20
4eb153:	83 c4 04             	add    $0x4,%esp
4eb156:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4eb15c:	33 c0                	xor    %eax,%eax
4eb15e:	5e                   	pop    %esi
4eb15f:	c3                   	ret
4eb160:	b8 01 00 00 00       	mov    $0x1,%eax
4eb165:	5e                   	pop    %esi
4eb166:	c3                   	ret
4eb167:	cc                   	int3
4eb168:	cc                   	int3
4eb169:	cc                   	int3
4eb16a:	cc                   	int3
4eb16b:	cc                   	int3
4eb16c:	cc                   	int3
4eb16d:	cc                   	int3
4eb16e:	cc                   	int3
4eb16f:	cc                   	int3
4eb170:	56                   	push   %esi
4eb171:	8b 74 24 08          	mov    0x8(%esp),%esi
4eb175:	8b 06                	mov    (%esi),%eax
4eb177:	85 c0                	test   %eax,%eax
4eb179:	75 0b                	jne    0x4eb186
4eb17b:	e8 00 ee fe ff       	call   0x4d9f80
4eb180:	89 06                	mov    %eax,(%esi)
4eb182:	85 c0                	test   %eax,%eax
4eb184:	74 46                	je     0x4eb1cc