4efeb3:	8b 54 24 0c          	mov    0xc(%esp),%edx
4efeb7:	8b 02                	mov    (%edx),%eax
4efeb9:	8b 78 14             	mov    0x14(%eax),%edi
4efebc:	8b 40 18             	mov    0x18(%eax),%eax
4efebf:	89 44 24 08          	mov    %eax,0x8(%esp)
4efec3:	8b 14 24             	mov    (%esp),%edx
4efec6:	85 d2                	test   %edx,%edx
4efec8:	0f 84 b3 00 00 00    	je     0x4eff81
4efece:	85 ff                	test   %edi,%edi
4efed0:	7c 05                	jl     0x4efed7
4efed2:	83 ff 04             	cmp    $0x4,%edi
4efed5:	7c 12                	jl     0x4efee9
4efed7:	8b 06                	mov    (%esi),%eax
4efed9:	c7 40 14 32 00 00 00 	movl   $0x32,0x14(%eax)
4efee0:	89 78 18             	mov    %edi,0x18(%eax)
4efee3:	8b c6                	mov    %esi,%eax
4efee5:	8b 10                	mov    (%eax),%edx
4efee7:	ff 12                	call   *(%edx)
4efee9:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4efeed:	85 c9                	test   %ecx,%ecx
4efeef:	7c 09                	jl     0x4efefa
4efef1:	8b 44 24 08          	mov    0x8(%esp),%eax
4efef5:	83 f8 04             	cmp    $0x4,%eax
4efef8:	7c 16                	jl     0x4eff10
4efefa:	8b 06                	mov    (%esi),%eax
4efefc:	c7 40 14 32 00 00 00 	movl   $0x32,0x14(%eax)
4eff03:	8b 54 24 08          	mov    0x8(%esp),%edx
4eff07:	89 50 18             	mov    %edx,0x18(%eax)
4eff0a:	8b c6                	mov    %esi,%eax
4eff0c:	8b 10                	mov    (%eax),%edx
4eff0e:	ff 12                	call   *(%edx)
4eff10:	8b 4c bb 4c          	mov    0x4c(%ebx,%edi,4),%ecx
4eff14:	85 c9                	test   %ecx,%ecx
4eff16:	75 16                	jne    0x4eff2e
4eff18:	8b c6                	mov    %esi,%eax
4eff1a:	b9 04 04 00 00       	mov    $0x404,%ecx
4eff1f:	ba 01 00 00 00       	mov    $0x1,%edx
4eff24:	8b 68 04             	mov    0x4(%eax),%ebp
4eff27:	ff 55 00             	call   *0x0(%ebp)
4eff2a:	89 44 bb 4c          	mov    %eax,0x4c(%ebx,%edi,4)
4eff2e:	68 04 04 00 00       	push   $0x404
4eff33:	6a 00                	push   $0x0
4eff35:	8b 44 bb 4c          	mov    0x4c(%ebx,%edi,4),%eax
4eff39:	50                   	push   %eax
4eff3a:	e8 45 a2 fe ff       	call   0x4da184
4eff3f:	83 c4 0c             	add    $0xc,%esp
4eff42:	8b 54 24 08          	mov    0x8(%esp),%edx
4eff46:	8b 4c 93 5c          	mov    0x5c(%ebx,%edx,4),%ecx
4eff4a:	85 c9                	test   %ecx,%ecx
4eff4c:	75 19                	jne    0x4eff67
4eff4e:	8b c6                	mov    %esi,%eax
4eff50:	b9 04 04 00 00       	mov    $0x404,%ecx
4eff55:	ba 01 00 00 00       	mov    $0x1,%edx
4eff5a:	8b 78 04             	mov    0x4(%eax),%edi
4eff5d:	ff 17                	call   *(%edi)
4eff5f:	8b 54 24 08          	mov    0x8(%esp),%edx
4eff63:	89 44 93 5c          	mov    %eax,0x5c(%ebx,%edx,4)
4eff67:	68 04 04 00 00       	push   $0x404
4eff6c:	6a 00                	push   $0x0
4eff6e:	8b 44 24 10          	mov    0x10(%esp),%eax
4eff72:	8b 4c 83 5c          	mov    0x5c(%ebx,%eax,4),%ecx
4eff76:	51                   	push   %ecx
4eff77:	e8 08 a2 fe ff       	call   0x4da184
4eff7c:	83 c4 0c             	add    $0xc,%esp
4eff7f:	eb 2d                	jmp    0x4effae
4eff81:	8d 44 bb 2c          	lea    0x2c(%ebx,%edi,4),%eax
4eff85:	8b cf                	mov    %edi,%ecx
4eff87:	50                   	push   %eax
4eff88:	8b c6                	mov    %esi,%eax
4eff8a:	ba 01 00 00 00       	mov    $0x1,%edx
4eff8f:	e8 64 00 00 00       	call   0x4efff8
4eff94:	8b 54 24 08          	mov    0x8(%esp),%edx
4eff98:	8b c6                	mov    %esi,%eax
4eff9a:	c1 e2 02             	shl    $0x2,%edx
4eff9d:	03 d3                	add    %ebx,%edx
4eff9f:	83 c2 3c             	add    $0x3c,%edx
4effa2:	52                   	push   %edx
4effa3:	33 d2                	xor    %edx,%edx
4effa5:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4effa9:	e8 4a 00 00 00       	call   0x4efff8
4effae:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4effb2:	33 c0                	xor    %eax,%eax
4effb4:	89 01                	mov    %eax,(%ecx)
4effb6:	ff 44 24 04          	incl   0x4(%esp)
4effba:	83 44 24 10 04       	addl   $0x4,0x10(%esp)
4effbf:	83 44 24 0c 04       	addl   $0x4,0xc(%esp)
4effc4:	8b 54 24 04          	mov    0x4(%esp),%edx
4effc8:	8b 8e f4 00 00 00    	mov    0xf4(%esi),%ecx
4effce:	3b d1                	cmp    %ecx,%edx
4effd0:	0f 8c dd fe ff ff    	jl     0x4efeb3
4effd6:	33 c0                	xor    %eax,%eax
4effd8:	33 d2                	xor    %edx,%edx
4effda:	89 43 0c             	mov    %eax,0xc(%ebx)
4effdd:	89 53 10             	mov    %edx,0x10(%ebx)
4effe0:	8b 8e c8 00 00 00    	mov    0xc8(%esi),%ecx
4effe6:	33 c0                	xor    %eax,%eax
4effe8:	89 4b 24             	mov    %ecx,0x24(%ebx)
4effeb:	89 43 28             	mov    %eax,0x28(%ebx)
4effee:	83 c4 14             	add    $0x14,%esp
4efff1:	5d                   	pop    %ebp
4efff2:	5f                   	pop    %edi
4efff3:	5e                   	pop    %esi
4efff4:	5b                   	pop    %ebx
4efff5:	c3                   	ret
4efff6:	90                   	nop
4efff7:	90                   	nop
4efff8:	55                   	push   %ebp
4efff9:	8b ec                	mov    %esp,%ebp
4efffb:	81 c4 d0 fa ff ff    	add    $0xfffffad0,%esp
4f0001:	53                   	push   %ebx
4f0002:	56                   	push   %esi
4f0003:	57                   	push   %edi
4f0004:	8b f1                	mov    %ecx,%esi
4f0006:	89 55 f8             	mov    %edx,-0x8(%ebp)
4f0009:	89 45 fc             	mov    %eax,-0x4(%ebp)
4f000c:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f000f:	85 f6                	test   %esi,%esi
4f0011:	7c 05                	jl     0x4f0018
4f0013:	83 fe 04             	cmp    $0x4,%esi
4f0016:	7c 16                	jl     0x4f002e
4f0018:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f001b:	8b 00                	mov    (%eax),%eax
4f001d:	c7 40 14 32 00 00 00 	movl   $0x32,0x14(%eax)
4f0024:	89 70 18             	mov    %esi,0x18(%eax)
4f0027:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f002a:	8b 10                	mov    (%eax),%edx
4f002c:	ff 12                	call   *(%edx)
4f002e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4f0031:	85 c9                	test   %ecx,%ecx
4f0033:	74 09                	je     0x4f003e
4f0035:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f0038:	8b 54 b0 58          	mov    0x58(%eax,%esi,4),%edx
4f003c:	eb 07                	jmp    0x4f0045
4f003e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4f0041:	8b 54 b1 68          	mov    0x68(%ecx,%esi,4),%edx
4f0045:	89 55 f4             	mov    %edx,-0xc(%ebp)
4f0048:	8b 45 f4             	mov    -0xc(%ebp),%eax
4f004b:	85 c0                	test   %eax,%eax
4f004d:	75 16                	jne    0x4f0065
4f004f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4f0052:	8b 01                	mov    (%ecx),%eax
4f0054:	c7 40 14 32 00 00 00 	movl   $0x32,0x14(%eax)
4f005b:	89 70 18             	mov    %esi,0x18(%eax)
4f005e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f0061:	8b 10                	mov    (%eax),%edx
4f0063:	ff 12                	call   *(%edx)
4f0065:	8b 0b                	mov    (%ebx),%ecx
4f0067:	85 c9                	test   %ecx,%ecx
4f0069:	75 14                	jne    0x4f007f
4f006b:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f006e:	b9 00 05 00 00       	mov    $0x500,%ecx
4f0073:	ba 01 00 00 00       	mov    $0x1,%edx
4f0078:	8b 70 04             	mov    0x4(%eax),%esi
4f007b:	ff 16                	call   *(%esi)
4f007d:	89 03                	mov    %eax,(%ebx)
4f007f:	8b 03                	mov    (%ebx),%eax
4f0081:	89 45 f0             	mov    %eax,-0x10(%ebp)
4f0084:	33 db                	xor    %ebx,%ebx
4f0086:	bf 01 00 00 00       	mov    $0x1,%edi
4f008b:	8b 45 f4             	mov    -0xc(%ebp),%eax
4f008e:	8d 50 01             	lea    0x1(%eax),%edx
4f0091:	89 55 e0             	mov    %edx,-0x20(%ebp)
4f0094:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4f0097:	0f b6 31             	movzbl (%ecx),%esi
4f009a:	85 f6                	test   %esi,%esi
4f009c:	7c 0a                	jl     0x4f00a8
4f009e:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4f00a1:	3d 00 01 00 00       	cmp    $0x100,%eax
4f00a6:	7e 13                	jle    0x4f00bb
4f00a8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4f00ab:	8b 0a                	mov    (%edx),%ecx
4f00ad:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
4f00b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f00b7:	8b 10                	mov    (%eax),%edx
4f00b9:	ff 12                	call   *(%edx)
4f00bb:	8d 84 1d d4 fe ff ff 	lea    -0x12c(%ebp,%ebx,1),%eax
4f00c2:	eb 06                	jmp    0x4f00ca
4f00c4:	8b d7                	mov    %edi,%edx
4f00c6:	43                   	inc    %ebx
4f00c7:	88 10                	mov    %dl,(%eax)
4f00c9:	40                   	inc    %eax
4f00ca:	8b ce                	mov    %esi,%ecx
4f00cc:	83 c6 ff             	add    $0xffffffff,%esi
4f00cf:	85 c9                	test   %ecx,%ecx
4f00d1:	75 f1                	jne    0x4f00c4
4f00d3:	47                   	inc    %edi
4f00d4:	ff 45 e0             	incl   -0x20(%ebp)
4f00d7:	83 ff 10             	cmp    $0x10,%edi
4f00da:	7e b8                	jle    0x4f0094
4f00dc:	c6 84 1d d4 fe ff ff 	movb   $0x0,-0x12c(%ebp,%ebx,1)
4f00e3:	00
4f00e4:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4f00e7:	33 f6                	xor    %esi,%esi
4f00e9:	0f be 85 d4 fe ff ff 	movsbl -0x12c(%ebp),%eax
4f00f0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f00f3:	33 db                	xor    %ebx,%ebx
4f00f5:	eb 48                	jmp    0x4f013f
4f00f7:	8d 94 9d d0 fa ff ff 	lea    -0x530(%ebp,%ebx,4),%edx
4f00fe:	8d 84 1d d4 fe ff ff 	lea    -0x12c(%ebp,%ebx,1),%eax
4f0105:	eb 08                	jmp    0x4f010f
4f0107:	89 32                	mov    %esi,(%edx)
4f0109:	43                   	inc    %ebx
4f010a:	83 c2 04             	add    $0x4,%edx
4f010d:	40                   	inc    %eax
4f010e:	46                   	inc    %esi
4f010f:	0f be 08             	movsbl (%eax),%ecx
4f0112:	8b 7d e8             	mov    -0x18(%ebp),%edi
4f0115:	3b cf                	cmp    %edi,%ecx
4f0117:	74 ee                	je     0x4f0107
4f0119:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4f011c:	b8 01 00 00 00       	mov    $0x1,%eax
4f0121:	d3 e0                	shl    %cl,%eax
4f0123:	3b c6                	cmp    %esi,%eax
4f0125:	7f 13                	jg     0x4f013a
4f0127:	8b 55 fc             	mov    -0x4(%ebp),%edx
4f012a:	8b 02                	mov    (%edx),%eax
4f012c:	c7 40 14 08 00 00 00 	movl   $0x8,0x14(%eax)
4f0133:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f0136:	8b 10                	mov    (%eax),%edx
4f0138:	ff 12                	call   *(%edx)
4f013a:	03 f6                	add    %esi,%esi
4f013c:	ff 45 e8             	incl   -0x18(%ebp)
4f013f:	8a 8c 1d d4 fe ff ff 	mov    -0x12c(%ebp,%ebx,1),%cl
4f0146:	84 c9                	test   %cl,%cl
4f0148:	75 ad                	jne    0x4f00f7
4f014a:	68 00 01 00 00       	push   $0x100
4f014f:	6a 00                	push   $0x0
4f0151:	8b 45 f0             	mov    -0x10(%ebp),%eax
4f0154:	05 00 04 00 00       	add    $0x400,%eax
4f0159:	50                   	push   %eax
4f015a:	e8 25 a0 fe ff       	call   0x4da184
4f015f:	83 c4 0c             	add    $0xc,%esp
4f0162:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f0165:	85 d2                	test   %edx,%edx
4f0167:	74 07                	je     0x4f0170
4f0169:	b9 0f 00 00 00       	mov    $0xf,%ecx
4f016e:	eb 05                	jmp    0x4f0175
4f0170:	b9 ff 00 00 00       	mov    $0xff,%ecx
4f0175:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4f0178:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
4f017e:	89 45 d8             	mov    %eax,-0x28(%ebp)
4f0181:	8d 95 d0 fa ff ff    	lea    -0x530(%ebp),%edx
4f0187:	89 55 dc             	mov    %edx,-0x24(%ebp)
4f018a:	33 db                	xor    %ebx,%ebx
4f018c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4f018f:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f0192:	3b d8                	cmp    %eax,%ebx
4f0194:	8d 79 11             	lea    0x11(%ecx),%edi
4f0197:	7d 59                	jge    0x4f01f2
4f0199:	0f b6 37             	movzbl (%edi),%esi
4f019c:	85 f6                	test   %esi,%esi
4f019e:	7c 15                	jl     0x4f01b5
4f01a0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4f01a3:	3b f0                	cmp    %eax,%esi
4f01a5:	7f 0e                	jg     0x4f01b5
4f01a7:	8b 55 f0             	mov    -0x10(%ebp),%edx
4f01aa:	8a 8c 32 00 04 00 00 	mov    0x400(%edx,%esi,1),%cl
4f01b1:	84 c9                	test   %cl,%cl
4f01b3:	74 13                	je     0x4f01c8
4f01b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f01b8:	8b 10                	mov    (%eax),%edx
4f01ba:	c7 42 14 08 00 00 00 	movl   $0x8,0x14(%edx)
4f01c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f01c4:	8b 10                	mov    (%eax),%edx
4f01c6:	ff 12                	call   *(%edx)
4f01c8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4f01cb:	8b 55 f0             	mov    -0x10(%ebp),%edx
4f01ce:	43                   	inc    %ebx
4f01cf:	47                   	inc    %edi
4f01d0:	8b 01                	mov    (%ecx),%eax
4f01d2:	89 04 b2             	mov    %eax,(%edx,%esi,4)
4f01d5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4f01d8:	8b 55 f0             	mov    -0x10(%ebp),%edx
4f01db:	8a 01                	mov    (%ecx),%al
4f01dd:	88 84 32 00 04 00 00 	mov    %al,0x400(%edx,%esi,1)
4f01e4:	ff 45 d8             	incl   -0x28(%ebp)
4f01e7:	83 45 dc 04          	addl   $0x4,-0x24(%ebp)
4f01eb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f01ee:	3b d9                	cmp    %ecx,%ebx
4f01f0:	7c a7                	jl     0x4f0199
4f01f2:	5f                   	pop    %edi
4f01f3:	5e                   	pop    %esi
4f01f4:	5b                   	pop    %ebx
4f01f5:	8b e5                	mov    %ebp,%esp
4f01f7:	5d                   	pop    %ebp
4f01f8:	c2 04 00             	ret    $0x4
4f01fb:	90                   	nop
4f01fc:	53                   	push   %ebx
4f01fd:	8b d8                	mov    %eax,%ebx
4f01ff:	56                   	push   %esi
4f0200:	8b 43 20             	mov    0x20(%ebx),%eax
4f0203:	8b 70 18             	mov    0x18(%eax),%esi
4f0206:	ff 56 0c             	call   *0xc(%esi)
4f0209:	85 c0                	test   %eax,%eax
4f020b:	75 05                	jne    0x4f0212
4f020d:	33 c0                	xor    %eax,%eax
4f020f:	5e                   	pop    %esi
4f0210:	5b                   	pop    %ebx
4f0211:	c3                   	ret
4f0212:	8b 16                	mov    (%esi),%edx
4f0214:	b8 01 00 00 00       	mov    $0x1,%eax
4f0219:	89 13                	mov    %edx,(%ebx)
4f021b:	8b 4e 04             	mov    0x4(%esi),%ecx
4f021e:	89 4b 04             	mov    %ecx,0x4(%ebx)
4f0221:	5e                   	pop    %esi
4f0222:	5b                   	pop    %ebx
4f0223:	c3                   	ret
4f0224:	53                   	push   %ebx
4f0225:	8b d8                	mov    %eax,%ebx
4f0227:	56                   	push   %esi
4f0228:	57                   	push   %edi
4f0229:	55                   	push   %ebp
4f022a:	8b f9                	mov    %ecx,%edi
4f022c:	85 ff                	test   %edi,%edi
4f022e:	8b 6b 0c             	mov    0xc(%ebx),%ebp
4f0231:	8b f2                	mov    %edx,%esi
4f0233:	75 10                	jne    0x4f0245
4f0235:	8b 43 20             	mov    0x20(%ebx),%eax
4f0238:	8b 10                	mov    (%eax),%edx
4f023a:	c7 42 14 28 00 00 00 	movl   $0x28,0x14(%edx)
4f0241:	8b 10                	mov    (%eax),%edx
4f0243:	ff 12                	call   *(%edx)
4f0245:	8b cf                	mov    %edi,%ecx
4f0247:	b8 01 00 00 00       	mov    $0x1,%eax
4f024c:	d3 e0                	shl    %cl,%eax
4f024e:	48                   	dec    %eax
4f024f:	03 ef                	add    %edi,%ebp
4f0251:	b9 18 00 00 00       	mov    $0x18,%ecx
4f0256:	23 f0                	and    %eax,%esi
4f0258:	2b cd                	sub    %ebp,%ecx
4f025a:	d3 e6                	shl    %cl,%esi
4f025c:	0b 73 08             	or     0x8(%ebx),%esi
4f025f:	83 fd 08             	cmp    $0x8,%ebp
4f0262:	7c 55                	jl     0x4f02b9
4f0264:	8b fe                	mov    %esi,%edi
4f0266:	8b 13                	mov    (%ebx),%edx
4f0268:	c1 ff 10             	sar    $0x10,%edi
4f026b:	ff 03                	incl   (%ebx)
4f026d:	81 e7 ff 00 00 00    	and    $0xff,%edi
4f0273:	8b c7                	mov    %edi,%eax
4f0275:	88 02                	mov    %al,(%edx)
4f0277:	ff 4b 04             	decl   0x4(%ebx)
4f027a:	75 0f                	jne    0x4f028b
4f027c:	8b c3                	mov    %ebx,%eax
4f027e:	e8 79 ff ff ff       	call   0x4f01fc
4f0283:	85 c0                	test   %eax,%eax
4f0285:	75 04                	jne    0x4f028b
4f0287:	33 c0                	xor    %eax,%eax
4f0289:	eb 39                	jmp    0x4f02c4
4f028b:	81 ff ff 00 00 00    	cmp    $0xff,%edi