52dfcb:	cc                   	int3
52dfcc:	cc                   	int3
52dfcd:	cc                   	int3
52dfce:	cc                   	int3
52dfcf:	cc                   	int3
52dfd0:	55                   	push   %ebp
52dfd1:	8b ec                	mov    %esp,%ebp
52dfd3:	56                   	push   %esi
52dfd4:	8b 75 0c             	mov    0xc(%ebp),%esi
52dfd7:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
52dfdb:	0f 85 9a 00 00 00    	jne    0x52e07b
52dfe1:	8b 46 0c             	mov    0xc(%esi),%eax
52dfe4:	89 45 0c             	mov    %eax,0xc(%ebp)
52dfe7:	0f b7 46 34          	movzwl 0x34(%esi),%eax
52dfeb:	99                   	cltd
52dfec:	83 c0 01             	add    $0x1,%eax
52dfef:	83 d2 00             	adc    $0x0,%edx
52dff2:	52                   	push   %edx
52dff3:	50                   	push   %eax
52dff4:	e8 67 2f 00 00       	call   0x530f60
52dff9:	83 c4 08             	add    $0x8,%esp
52dffc:	89 46 10             	mov    %eax,0x10(%esi)
52dfff:	85 c0                	test   %eax,%eax
52e001:	75 10                	jne    0x52e013
52e003:	ff 75 08             	push   0x8(%ebp)
52e006:	e8 85 38 00 00       	call   0x531890
52e00b:	83 c4 04             	add    $0x4,%esp
52e00e:	33 c0                	xor    %eax,%eax
52e010:	5e                   	pop    %esi
52e011:	5d                   	pop    %ebp
52e012:	c3                   	ret
52e013:	57                   	push   %edi
52e014:	33 c0                	xor    %eax,%eax
52e016:	33 ff                	xor    %edi,%edi
52e018:	66 3b 46 34          	cmp    0x34(%esi),%ax
52e01c:	73 55                	jae    0x52e073
52e01e:	53                   	push   %ebx
52e01f:	33 db                	xor    %ebx,%ebx
52e021:	8b 46 04             	mov    0x4(%esi),%eax
52e024:	0f b7 04 78          	movzwl (%eax,%edi,2),%eax
52e028:	66 85 c0             	test   %ax,%ax
52e02b:	78 10                	js     0x52e03d
52e02d:	98                   	cwtl
52e02e:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52e031:	8b 45 0c             	mov    0xc(%ebp),%eax
52e034:	8b 40 04             	mov    0x4(%eax),%eax
52e037:	8a 44 88 0d          	mov    0xd(%eax,%ecx,4),%al
52e03b:	eb 15                	jmp    0x52e052
52e03d:	66 83 f8 ff          	cmp    $0xffff,%ax
52e041:	74 1b                	je     0x52e05e
52e043:	8b 46 28             	mov    0x28(%esi),%eax
52e046:	ff 74 18 04          	push   0x4(%eax,%ebx,1)
52e04a:	e8 61 55 ff ff       	call   0x5235b0
52e04f:	83 c4 04             	add    $0x4,%esp
52e052:	3c 41                	cmp    $0x41,%al
52e054:	7d 04                	jge    0x52e05a
52e056:	b0 41                	mov    $0x41,%al
52e058:	eb 06                	jmp    0x52e060
52e05a:	3c 43                	cmp    $0x43,%al
52e05c:	7e 02                	jle    0x52e060
52e05e:	b0 43                	mov    $0x43,%al
52e060:	8b 4e 10             	mov    0x10(%esi),%ecx
52e063:	83 c3 14             	add    $0x14,%ebx
52e066:	88 04 0f             	mov    %al,(%edi,%ecx,1)
52e069:	47                   	inc    %edi
52e06a:	0f b7 46 34          	movzwl 0x34(%esi),%eax
52e06e:	3b f8                	cmp    %eax,%edi
52e070:	7c af                	jl     0x52e021
52e072:	5b                   	pop    %ebx
52e073:	8b 46 10             	mov    0x10(%esi),%eax
52e076:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
52e07a:	5f                   	pop    %edi
52e07b:	8b 46 10             	mov    0x10(%esi),%eax
52e07e:	5e                   	pop    %esi
52e07f:	5d                   	pop    %ebp
52e080:	c3                   	ret
52e081:	cc                   	int3
52e082:	cc                   	int3
52e083:	cc                   	int3
52e084:	cc                   	int3
52e085:	cc                   	int3
52e086:	cc                   	int3
52e087:	cc                   	int3
52e088:	cc                   	int3
52e089:	cc                   	int3
52e08a:	cc                   	int3
52e08b:	cc                   	int3
52e08c:	cc                   	int3
52e08d:	cc                   	int3
52e08e:	cc                   	int3
52e08f:	cc                   	int3
52e090:	55                   	push   %ebp
52e091:	8b ec                	mov    %esp,%ebp
52e093:	8b 4d 08             	mov    0x8(%ebp),%ecx
52e096:	8b 41 0c             	mov    0xc(%ecx),%eax
52e099:	8b 40 08             	mov    0x8(%eax),%eax
52e09c:	85 c0                	test   %eax,%eax
52e09e:	74 13                	je     0x52e0b3
52e0a0:	8b 51 2c             	mov    0x2c(%ecx),%edx
52e0a3:	39 50 2c             	cmp    %edx,0x2c(%eax)
52e0a6:	75 04                	jne    0x52e0ac
52e0a8:	3b c1                	cmp    %ecx,%eax
52e0aa:	75 0b                	jne    0x52e0b7
52e0ac:	8b 40 14             	mov    0x14(%eax),%eax
52e0af:	85 c0                	test   %eax,%eax
52e0b1:	75 f0                	jne    0x52e0a3
52e0b3:	33 c0                	xor    %eax,%eax
52e0b5:	5d                   	pop    %ebp
52e0b6:	c3                   	ret
52e0b7:	b8 01 00 00 00       	mov    $0x1,%eax
52e0bc:	5d                   	pop    %ebp
52e0bd:	c3                   	ret
52e0be:	cc                   	int3
52e0bf:	cc                   	int3
52e0c0:	55                   	push   %ebp
52e0c1:	8b ec                	mov    %esp,%ebp
52e0c3:	51                   	push   %ecx
52e0c4:	53                   	push   %ebx
52e0c5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52e0c8:	56                   	push   %esi
52e0c9:	57                   	push   %edi
52e0ca:	8b 7b 10             	mov    0x10(%ebx),%edi
52e0cd:	85 ff                	test   %edi,%edi
52e0cf:	74 31                	je     0x52e102
52e0d1:	f6 43 28 02          	testb  $0x2,0x28(%ebx)
52e0d5:	74 2b                	je     0x52e102
52e0d7:	8b 7f 08             	mov    0x8(%edi),%edi
52e0da:	8b 4b 40             	mov    0x40(%ebx),%ecx
52e0dd:	89 4d 0c             	mov    %ecx,0xc(%ebp)
52e0e0:	85 ff                	test   %edi,%edi
52e0e2:	74 4b                	je     0x52e12f
52e0e4:	8b 07                	mov    (%edi),%eax
52e0e6:	8b f1                	mov    %ecx,%esi
52e0e8:	2b f0                	sub    %eax,%esi
52e0ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
52e0f0:	0f b6 10             	movzbl (%eax),%edx
52e0f3:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
52e0f7:	3b d1                	cmp    %ecx,%edx
52e0f9:	75 10                	jne    0x52e10b
52e0fb:	85 d2                	test   %edx,%edx
52e0fd:	75 1e                	jne    0x52e11d
52e0ff:	89 7b 44             	mov    %edi,0x44(%ebx)
52e102:	5f                   	pop    %edi
52e103:	5e                   	pop    %esi
52e104:	33 c0                	xor    %eax,%eax
52e106:	5b                   	pop    %ebx
52e107:	8b e5                	mov    %ebp,%esp
52e109:	5d                   	pop    %ebp
52e10a:	c3                   	ret
52e10b:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
52e112:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
52e119:	2b d1                	sub    %ecx,%edx
52e11b:	75 03                	jne    0x52e120
52e11d:	40                   	inc    %eax
52e11e:	eb d0                	jmp    0x52e0f0
52e120:	8b 7f 14             	mov    0x14(%edi),%edi
52e123:	85 ff                	test   %edi,%edi
52e125:	74 05                	je     0x52e12c
52e127:	8b 4b 40             	mov    0x40(%ebx),%ecx
52e12a:	eb b8                	jmp    0x52e0e4
52e12c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52e12f:	8b 75 08             	mov    0x8(%ebp),%esi
52e132:	6a 00                	push   $0x0
52e134:	51                   	push   %ecx
52e135:	68 f0 b0 6b 00       	push   $0x6bb0f0
52e13a:	56                   	push   %esi
52e13b:	e8 20 51 ff ff       	call   0x523260
52e140:	83 c4 10             	add    $0x10,%esp
52e143:	c6 46 11 01          	movb   $0x1,0x11(%esi)
52e147:	b8 01 00 00 00       	mov    $0x1,%eax
52e14c:	5f                   	pop    %edi
52e14d:	5e                   	pop    %esi
52e14e:	5b                   	pop    %ebx
52e14f:	8b e5                	mov    %ebp,%esp
52e151:	5d                   	pop    %ebp
52e152:	c3                   	ret
52e153:	cc                   	int3
52e154:	cc                   	int3
52e155:	cc                   	int3
52e156:	cc                   	int3
52e157:	cc                   	int3
52e158:	cc                   	int3
52e159:	cc                   	int3
52e15a:	cc                   	int3
52e15b:	cc                   	int3
52e15c:	cc                   	int3
52e15d:	cc                   	int3
52e15e:	cc                   	int3
52e15f:	cc                   	int3
52e160:	55                   	push   %ebp
52e161:	8b ec                	mov    %esp,%ebp
52e163:	53                   	push   %ebx
52e164:	8b 5d 08             	mov    0x8(%ebp),%ebx
52e167:	8b 43 18             	mov    0x18(%ebx),%eax
52e16a:	8b 4b 10             	mov    0x10(%ebx),%ecx
52e16d:	f7 d0                	not    %eax
52e16f:	83 e0 01             	and    $0x1,%eax
52e172:	89 45 08             	mov    %eax,0x8(%ebp)
52e175:	8b 41 0c             	mov    0xc(%ecx),%eax
52e178:	8a 40 4d             	mov    0x4d(%eax),%al
52e17b:	88 43 4e             	mov    %al,0x4e(%ebx)
52e17e:	8b 41 0c             	mov    0xc(%ecx),%eax
52e181:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52e184:	f6 40 4e 01          	testb  $0x1,0x4e(%eax)
52e188:	75 15                	jne    0x52e19f
52e18a:	6a 00                	push   $0x0
52e18c:	51                   	push   %ecx
52e18d:	6a 00                	push   $0x0
52e18f:	53                   	push   %ebx
52e190:	e8 4b 02 00 00       	call   0x52e3e0
52e195:	83 c4 10             	add    $0x10,%esp
52e198:	85 c0                	test   %eax,%eax
52e19a:	75 4d                	jne    0x52e1e9
52e19c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52e19f:	56                   	push   %esi
52e1a0:	8b 73 14             	mov    0x14(%ebx),%esi
52e1a3:	4e                   	dec    %esi
52e1a4:	57                   	push   %edi
52e1a5:	85 f6                	test   %esi,%esi
52e1a7:	7e 32                	jle    0x52e1db
52e1a9:	8b fe                	mov    %esi,%edi
52e1ab:	c1 e7 04             	shl    $0x4,%edi
52e1ae:	66 90                	xchg   %ax,%ax
52e1b0:	8b 43 10             	mov    0x10(%ebx),%eax
52e1b3:	8b 44 38 0c          	mov    0xc(%eax,%edi,1),%eax
52e1b7:	f6 40 4e 01          	testb  $0x1,0x4e(%eax)
52e1bb:	75 11                	jne    0x52e1ce
52e1bd:	6a 00                	push   $0x0
52e1bf:	51                   	push   %ecx
52e1c0:	56                   	push   %esi
52e1c1:	53                   	push   %ebx
52e1c2:	e8 19 02 00 00       	call   0x52e3e0
52e1c7:	83 c4 10             	add    $0x10,%esp
52e1ca:	85 c0                	test   %eax,%eax
52e1cc:	75 19                	jne    0x52e1e7
52e1ce:	4e                   	dec    %esi
52e1cf:	83 ef 10             	sub    $0x10,%edi
52e1d2:	85 f6                	test   %esi,%esi
52e1d4:	7e 05                	jle    0x52e1db
52e1d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52e1d9:	eb d5                	jmp    0x52e1b0
52e1db:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
52e1df:	74 04                	je     0x52e1e5
52e1e1:	83 63 18 fe          	andl   $0xfffffffe,0x18(%ebx)
52e1e5:	33 c0                	xor    %eax,%eax
52e1e7:	5f                   	pop    %edi
52e1e8:	5e                   	pop    %esi
52e1e9:	5b                   	pop    %ebx
52e1ea:	5d                   	pop    %ebp
52e1eb:	c3                   	ret
52e1ec:	cc                   	int3
52e1ed:	cc                   	int3
52e1ee:	cc                   	int3
52e1ef:	cc                   	int3
52e1f0:	55                   	push   %ebp
52e1f1:	8b ec                	mov    %esp,%ebp
52e1f3:	83 ec 08             	sub    $0x8,%esp
52e1f6:	53                   	push   %ebx
52e1f7:	56                   	push   %esi
52e1f8:	8b 75 08             	mov    0x8(%ebp),%esi
52e1fb:	8b 1e                	mov    (%esi),%ebx
52e1fd:	8b 46 08             	mov    0x8(%esi),%eax
52e200:	8b c8                	mov    %eax,%ecx
52e202:	c1 e1 04             	shl    $0x4,%ecx
52e205:	89 45 fc             	mov    %eax,-0x4(%ebp)
52e208:	8b 43 10             	mov    0x10(%ebx),%eax
52e20b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52e20e:	89 5d 08             	mov    %ebx,0x8(%ebp)
52e211:	8b 44 08 0c          	mov    0xc(%eax,%ecx,1),%eax
52e215:	b9 fb ff 00 00       	mov    $0xfffb,%ecx
52e21a:	66 21 48 4e          	and    %cx,0x4e(%eax)
52e21e:	ff 46 14             	incl   0x14(%esi)
52e221:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
52e225:	74 1c                	je     0x52e243
52e227:	8b 45 10             	mov    0x10(%ebp),%eax
52e22a:	6a 00                	push   $0x0
52e22c:	ff 70 04             	push   0x4(%eax)
52e22f:	56                   	push   %esi
52e230:	e8 cb e7 fc ff       	call   0x4fca00
52e235:	83 c4 0c             	add    $0xc,%esp
52e238:	b8 01 00 00 00       	mov    $0x1,%eax
52e23d:	5e                   	pop    %esi
52e23e:	5b                   	pop    %ebx
52e23f:	8b e5                	mov    %ebp,%esp
52e241:	5d                   	pop    %ebp
52e242:	c3                   	ret
52e243:	57                   	push   %edi
52e244:	8b 7d 10             	mov    0x10(%ebp),%edi
52e247:	85 ff                	test   %edi,%edi
52e249:	0f 84 7e 01 00 00    	je     0x52e3cd
52e24f:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
52e253:	75 17                	jne    0x52e26c
52e255:	6a 00                	push   $0x0
52e257:	ff 77 04             	push   0x4(%edi)
52e25a:	56                   	push   %esi
52e25b:	e8 a0 e7 fc ff       	call   0x4fca00
52e260:	83 c4 0c             	add    $0xc,%esp
52e263:	33 c0                	xor    %eax,%eax
52e265:	5f                   	pop    %edi
52e266:	5e                   	pop    %esi
52e267:	5b                   	pop    %ebx
52e268:	8b e5                	mov    %ebp,%esp
52e26a:	5d                   	pop    %ebp
52e26b:	c3                   	ret
52e26c:	8b 47 10             	mov    0x10(%edi),%eax
52e26f:	6a 07                	push   $0x7
52e271:	68 04 ad 6b 00       	push   $0x6bad04
52e276:	50                   	push   %eax
52e277:	e8 e4 18 fb ff       	call   0x4dfb60
52e27c:	83 c4 0c             	add    $0xc,%esp
52e27f:	85 c0                	test   %eax,%eax
52e281:	0f 85 c3 00 00 00    	jne    0x52e34a
52e287:	8b 45 08             	mov    0x8(%ebp),%eax
52e28a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
52e28d:	8a 9b a4 00 00 00    	mov    0xa4(%ebx),%bl
52e293:	88 88 a4 00 00 00    	mov    %cl,0xa4(%eax)
52e299:	ff 77 0c             	push   0xc(%edi)
52e29c:	e8 6f b2 fe ff       	call   0x519510
52e2a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
52e2a4:	6a 00                	push   $0x0
52e2a6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
52e2ad:	83 a1 a8 00 00 00 fe 	andl   $0xfffffffe,0xa8(%ecx)
52e2b4:	89 81 a0 00 00 00    	mov    %eax,0xa0(%ecx)
52e2ba:	8d 45 fc             	lea    -0x4(%ebp),%eax
52e2bd:	50                   	push   %eax
52e2be:	6a 00                	push   $0x0
52e2c0:	6a 00                	push   $0x0
52e2c2:	6a ff                	push   $0xffffffff
52e2c4:	89 b9 ac 00 00 00    	mov    %edi,0xac(%ecx)
52e2ca:	ff 77 10             	push   0x10(%edi)
52e2cd:	51                   	push   %ecx
52e2ce:	e8 7d 8b 00 00       	call   0x536e50
52e2d3:	8b 45 08             	mov    0x8(%ebp),%eax
52e2d6:	83 c4 20             	add    $0x20,%esp
52e2d9:	8b 48 40             	mov    0x40(%eax),%ecx
52e2dc:	88 98 a4 00 00 00    	mov    %bl,0xa4(%eax)
52e2e2:	85 c9                	test   %ecx,%ecx
52e2e4:	74 50                	je     0x52e336
52e2e6:	f6 80 a8 00 00 00 01 	testb  $0x1,0xa8(%eax)
52e2ed:	75 47                	jne    0x52e336
52e2ef:	3b 4e 0c             	cmp    0xc(%esi),%ecx
52e2f2:	7e 03                	jle    0x52e2f7
52e2f4:	89 4e 0c             	mov    %ecx,0xc(%esi)
52e2f7:	83 f9 07             	cmp    $0x7,%ecx
52e2fa:	75 1d                	jne    0x52e319
52e2fc:	50                   	push   %eax
52e2fd:	e8 8e 35 00 00       	call   0x531890
52e302:	83 c4 04             	add    $0x4,%esp
52e305:	ff 75 fc             	push   -0x4(%ebp)
52e308:	e8 33 31 fb ff       	call   0x4e1440