5f2f11:	0f 84 5f ff ff ff    	je     0x5f2e76
5f2f17:	e9 55 ff ff ff       	jmp    0x5f2e71
5f2f1c:	ff 75 e8             	push   -0x18(%ebp)
5f2f1f:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2f22:	e8 c7 34 00 00       	call   0x5f63ee
5f2f27:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2f2a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f2f2d:	8b c2                	mov    %edx,%eax
5f2f2f:	0b c1                	or     %ecx,%eax
5f2f31:	0f 84 04 ff ff ff    	je     0x5f2e3b
5f2f37:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2f3b:	75 18                	jne    0x5f2f55
5f2f3d:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f2f40:	75 05                	jne    0x5f2f47
5f2f42:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
5f2f45:	74 0e                	je     0x5f2f55
5f2f47:	8b 06                	mov    (%esi),%eax
5f2f49:	83 e0 04             	and    $0x4,%eax
5f2f4c:	83 c8 00             	or     $0x0,%eax
5f2f4f:	0f 84 e6 fe ff ff    	je     0x5f2e3b
5f2f55:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2f59:	75 0e                	jne    0x5f2f69
5f2f5b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2f5f:	74 08                	je     0x5f2f69
5f2f61:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f2f64:	33 d2                	xor    %edx,%edx
5f2f66:	66 89 11             	mov    %dx,(%ecx)
5f2f69:	b0 01                	mov    $0x1,%al
5f2f6b:	e9 cd fe ff ff       	jmp    0x5f2e3d
5f2f70:	8b ff                	mov    %edi,%edi
5f2f72:	55                   	push   %ebp
5f2f73:	8b ec                	mov    %esp,%ebp
5f2f75:	53                   	push   %ebx
5f2f76:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f2f79:	e8 01 2b 00 00       	call   0x5f5a7f
5f2f7e:	8b d8                	mov    %eax,%ebx
5f2f80:	83 fb ff             	cmp    $0xffffffff,%ebx
5f2f83:	74 15                	je     0x5f2f9a
5f2f85:	ff 75 0c             	push   0xc(%ebp)
5f2f88:	0f b6 cb             	movzbl %bl,%ecx
5f2f8b:	6a 08                	push   $0x8
5f2f8d:	51                   	push   %ecx
5f2f8e:	e8 21 ad ff ff       	call   0x5edcb4
5f2f93:	83 c4 0c             	add    $0xc,%esp
5f2f96:	85 c0                	test   %eax,%eax
5f2f98:	75 dc                	jne    0x5f2f76
5f2f9a:	8b c3                	mov    %ebx,%eax
5f2f9c:	5b                   	pop    %ebx
5f2f9d:	5d                   	pop    %ebp
5f2f9e:	c3                   	ret
5f2f9f:	8b ff                	mov    %edi,%edi
5f2fa1:	55                   	push   %ebp
5f2fa2:	8b ec                	mov    %esp,%ebp
5f2fa4:	83 41 6c 04          	addl   $0x4,0x6c(%ecx)
5f2fa8:	8b 41 6c             	mov    0x6c(%ecx),%eax
5f2fab:	8b 48 fc             	mov    -0x4(%eax),%ecx
5f2fae:	85 c9                	test   %ecx,%ecx
5f2fb0:	75 14                	jne    0x5f2fc6
5f2fb2:	e8 42 a0 ff ff       	call   0x5ecff9
5f2fb7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2fbd:	e8 5d 9f ff ff       	call   0x5ecf1f
5f2fc2:	32 c0                	xor    %al,%al
5f2fc4:	eb 09                	jmp    0x5f2fcf
5f2fc6:	8b 45 08             	mov    0x8(%ebp),%eax
5f2fc9:	8b 00                	mov    (%eax),%eax
5f2fcb:	89 01                	mov    %eax,(%ecx)
5f2fcd:	b0 01                	mov    $0x1,%al
5f2fcf:	5d                   	pop    %ebp
5f2fd0:	c2 04 00             	ret    $0x4
5f2fd3:	8b ff                	mov    %edi,%edi
5f2fd5:	55                   	push   %ebp
5f2fd6:	8b ec                	mov    %esp,%ebp
5f2fd8:	83 41 6c 04          	addl   $0x4,0x6c(%ecx)
5f2fdc:	8b 41 6c             	mov    0x6c(%ecx),%eax
5f2fdf:	8b 50 fc             	mov    -0x4(%eax),%edx
5f2fe2:	85 d2                	test   %edx,%edx
5f2fe4:	75 14                	jne    0x5f2ffa
5f2fe6:	e8 0e a0 ff ff       	call   0x5ecff9
5f2feb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2ff1:	e8 29 9f ff ff       	call   0x5ecf1f
5f2ff6:	32 c0                	xor    %al,%al
5f2ff8:	eb 0f                	jmp    0x5f3009
5f2ffa:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f2ffd:	8b 01                	mov    (%ecx),%eax
5f2fff:	89 02                	mov    %eax,(%edx)
5f3001:	8b 41 04             	mov    0x4(%ecx),%eax
5f3004:	89 42 04             	mov    %eax,0x4(%edx)
5f3007:	b0 01                	mov    $0x1,%al
5f3009:	5d                   	pop    %ebp
5f300a:	c2 04 00             	ret    $0x4
5f300d:	8b ff                	mov    %edi,%edi
5f300f:	55                   	push   %ebp
5f3010:	8b ec                	mov    %esp,%ebp
5f3012:	8b 45 08             	mov    0x8(%ebp),%eax
5f3015:	8b d1                	mov    %ecx,%edx
5f3017:	53                   	push   %ebx
5f3018:	33 db                	xor    %ebx,%ebx
5f301a:	57                   	push   %edi
5f301b:	89 02                	mov    %eax,(%edx)
5f301d:	8d 7a 2c             	lea    0x2c(%edx),%edi
5f3020:	8b 45 0c             	mov    0xc(%ebp),%eax
5f3023:	89 42 04             	mov    %eax,0x4(%edx)
5f3026:	8b 45 10             	mov    0x10(%ebp),%eax
5f3029:	6a 08                	push   $0x8
5f302b:	89 42 08             	mov    %eax,0x8(%edx)
5f302e:	33 c0                	xor    %eax,%eax
5f3030:	59                   	pop    %ecx
5f3031:	89 5a 0c             	mov    %ebx,0xc(%edx)
5f3034:	f3 ab                	rep stos %eax,%es:(%edi)
5f3036:	5f                   	pop    %edi
5f3037:	89 5a 10             	mov    %ebx,0x10(%edx)
5f303a:	8b c2                	mov    %edx,%eax
5f303c:	66 89 5a 14          	mov    %bx,0x14(%edx)
5f3040:	88 5a 16             	mov    %bl,0x16(%edx)
5f3043:	89 5a 18             	mov    %ebx,0x18(%edx)
5f3046:	89 5a 1c             	mov    %ebx,0x1c(%edx)
5f3049:	89 5a 20             	mov    %ebx,0x20(%edx)
5f304c:	88 5a 24             	mov    %bl,0x24(%edx)
5f304f:	89 5a 28             	mov    %ebx,0x28(%edx)
5f3052:	5b                   	pop    %ebx
5f3053:	5d                   	pop    %ebp
5f3054:	c2 0c 00             	ret    $0xc
5f3057:	8b ff                	mov    %edi,%edi
5f3059:	55                   	push   %ebp
5f305a:	8b ec                	mov    %esp,%ebp
5f305c:	8b 45 08             	mov    0x8(%ebp),%eax
5f305f:	83 61 10 00          	andl   $0x0,0x10(%ecx)
5f3063:	83 61 14 00          	andl   $0x0,0x14(%ecx)
5f3067:	89 01                	mov    %eax,(%ecx)
5f3069:	8b 45 0c             	mov    0xc(%ebp),%eax
5f306c:	89 41 08             	mov    %eax,0x8(%ecx)
5f306f:	8b 45 10             	mov    0x10(%ebp),%eax
5f3072:	89 41 0c             	mov    %eax,0xc(%ecx)
5f3075:	8b 45 14             	mov    0x14(%ebp),%eax
5f3078:	89 41 18             	mov    %eax,0x18(%ecx)
5f307b:	85 c0                	test   %eax,%eax
5f307d:	74 03                	je     0x5f3082
5f307f:	c6 00 01             	movb   $0x1,(%eax)
5f3082:	8b c1                	mov    %ecx,%eax
5f3084:	5d                   	pop    %ebp
5f3085:	c2 10 00             	ret    $0x10
5f3088:	8b ff                	mov    %edi,%edi
5f308a:	55                   	push   %ebp
5f308b:	8b ec                	mov    %esp,%ebp
5f308d:	8b 55 0c             	mov    0xc(%ebp),%edx
5f3090:	8b 45 10             	mov    0x10(%ebp),%eax
5f3093:	53                   	push   %ebx
5f3094:	56                   	push   %esi
5f3095:	8b 75 08             	mov    0x8(%ebp),%esi
5f3098:	8b d9                	mov    %ecx,%ebx
5f309a:	57                   	push   %edi
5f309b:	ff 75 14             	push   0x14(%ebp)
5f309e:	89 13                	mov    %edx,(%ebx)
5f30a0:	8d 7b 08             	lea    0x8(%ebx),%edi
5f30a3:	89 43 04             	mov    %eax,0x4(%ebx)
5f30a6:	8d 4b 18             	lea    0x18(%ebx),%ecx
5f30a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5f30aa:	50                   	push   %eax
5f30ab:	52                   	push   %edx
5f30ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5f30ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5f30ae:	e8 5a ff ff ff       	call   0x5f300d
5f30b3:	8b 45 18             	mov    0x18(%ebp),%eax
5f30b6:	83 63 70 00          	andl   $0x0,0x70(%ebx)
5f30ba:	89 43 68             	mov    %eax,0x68(%ebx)
5f30bd:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f30c0:	5f                   	pop    %edi
5f30c1:	89 43 6c             	mov    %eax,0x6c(%ebx)
5f30c4:	8b c3                	mov    %ebx,%eax
5f30c6:	5e                   	pop    %esi
5f30c7:	5b                   	pop    %ebx
5f30c8:	5d                   	pop    %ebp
5f30c9:	c2 18 00             	ret    $0x18
5f30cc:	8b ff                	mov    %edi,%edi
5f30ce:	56                   	push   %esi
5f30cf:	8b f1                	mov    %ecx,%esi
5f30d1:	8b 46 04             	mov    0x4(%esi),%eax
5f30d4:	8b 0e                	mov    (%esi),%ecx
5f30d6:	0f b6 00             	movzbl (%eax),%eax
5f30d9:	50                   	push   %eax
5f30da:	e8 c8 32 00 00       	call   0x5f63a7
5f30df:	8b 46 04             	mov    0x4(%esi),%eax
5f30e2:	c6 00 00             	movb   $0x0,(%eax)
5f30e5:	8b 46 08             	mov    0x8(%esi),%eax
5f30e8:	8b 0e                	mov    (%esi),%ecx
5f30ea:	ff 70 04             	push   0x4(%eax)
5f30ed:	ff 30                	push   (%eax)
5f30ef:	e8 34 2d 00 00       	call   0x5f5e28
5f30f4:	5e                   	pop    %esi
5f30f5:	c3                   	ret
5f30f6:	8b ff                	mov    %edi,%edi
5f30f8:	53                   	push   %ebx
5f30f9:	56                   	push   %esi
5f30fa:	8b f1                	mov    %ecx,%esi
5f30fc:	33 db                	xor    %ebx,%ebx
5f30fe:	39 5e 0c             	cmp    %ebx,0xc(%esi)
5f3101:	75 29                	jne    0x5f312c
5f3103:	8b 46 08             	mov    0x8(%esi),%eax
5f3106:	89 5e 10             	mov    %ebx,0x10(%esi)
5f3109:	66 89 5e 14          	mov    %bx,0x14(%esi)
5f310d:	88 5e 16             	mov    %bl,0x16(%esi)
5f3110:	89 5e 18             	mov    %ebx,0x18(%esi)
5f3113:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5f3116:	89 5e 20             	mov    %ebx,0x20(%esi)
5f3119:	88 5e 24             	mov    %bl,0x24(%esi)
5f311c:	89 5e 28             	mov    %ebx,0x28(%esi)
5f311f:	8a 00                	mov    (%eax),%al
5f3121:	84 c0                	test   %al,%al
5f3123:	75 0c                	jne    0x5f3131
5f3125:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
5f312c:	32 c0                	xor    %al,%al
5f312e:	5e                   	pop    %esi
5f312f:	5b                   	pop    %ebx
5f3130:	c3                   	ret
5f3131:	0f b6 c0             	movzbl %al,%eax
5f3134:	50                   	push   %eax
5f3135:	e8 a9 3d 00 00       	call   0x5f6ee3
5f313a:	59                   	pop    %ecx
5f313b:	8b 4e 08             	mov    0x8(%esi),%ecx
5f313e:	85 c0                	test   %eax,%eax
5f3140:	74 24                	je     0x5f3166
5f3142:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
5f3149:	0f b6 01             	movzbl (%ecx),%eax
5f314c:	eb 09                	jmp    0x5f3157
5f314e:	ff 46 08             	incl   0x8(%esi)
5f3151:	8b 46 08             	mov    0x8(%esi),%eax
5f3154:	0f b6 00             	movzbl (%eax),%eax
5f3157:	50                   	push   %eax
5f3158:	e8 86 3d 00 00       	call   0x5f6ee3
5f315d:	59                   	pop    %ecx
5f315e:	85 c0                	test   %eax,%eax
5f3160:	75 ec                	jne    0x5f314e
5f3162:	b0 01                	mov    $0x1,%al
5f3164:	eb c8                	jmp    0x5f312e
5f3166:	80 39 25             	cmpb   $0x25,(%ecx)
5f3169:	75 7c                	jne    0x5f31e7
5f316b:	8d 41 01             	lea    0x1(%ecx),%eax
5f316e:	80 38 25             	cmpb   $0x25,(%eax)
5f3171:	74 74                	je     0x5f31e7
5f3173:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
5f317a:	89 46 08             	mov    %eax,0x8(%esi)
5f317d:	80 38 2a             	cmpb   $0x2a,(%eax)
5f3180:	75 08                	jne    0x5f318a
5f3182:	40                   	inc    %eax
5f3183:	c6 46 16 01          	movb   $0x1,0x16(%esi)
5f3187:	89 46 08             	mov    %eax,0x8(%esi)
5f318a:	8b ce                	mov    %esi,%ecx
5f318c:	e8 2c 2e 00 00       	call   0x5f5fbd
5f3191:	84 c0                	test   %al,%al
5f3193:	74 97                	je     0x5f312c
5f3195:	8b ce                	mov    %esi,%ecx
5f3197:	e8 be 2e 00 00       	call   0x5f605a
5f319c:	8b ce                	mov    %esi,%ecx
5f319e:	e8 18 30 00 00       	call   0x5f61bb
5f31a3:	8b ce                	mov    %esi,%ecx
5f31a5:	e8 a3 2c 00 00       	call   0x5f5e4d
5f31aa:	84 c0                	test   %al,%al
5f31ac:	0f 84 7a ff ff ff    	je     0x5f312c
5f31b2:	6b 4e 28 0c          	imul   $0xc,0x28(%esi),%ecx
5f31b6:	8b 46 20             	mov    0x20(%esi),%eax
5f31b9:	38 9c 01 d0 33 6d 00 	cmp    %bl,0x6d33d0(%ecx,%eax,1)
5f31c0:	75 a0                	jne    0x5f3162
5f31c2:	89 5e 10             	mov    %ebx,0x10(%esi)
5f31c5:	66 89 5e 14          	mov    %bx,0x14(%esi)
5f31c9:	88 5e 16             	mov    %bl,0x16(%esi)
5f31cc:	89 5e 18             	mov    %ebx,0x18(%esi)
5f31cf:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5f31d2:	89 5e 20             	mov    %ebx,0x20(%esi)
5f31d5:	88 5e 24             	mov    %bl,0x24(%esi)
5f31d8:	89 5e 28             	mov    %ebx,0x28(%esi)
5f31db:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
5f31e2:	e9 45 ff ff ff       	jmp    0x5f312c
5f31e7:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
5f31ee:	8a 01                	mov    (%ecx),%al
5f31f0:	88 46 14             	mov    %al,0x14(%esi)
5f31f3:	33 c0                	xor    %eax,%eax
5f31f5:	80 39 25             	cmpb   $0x25,(%ecx)
5f31f8:	53                   	push   %ebx
5f31f9:	0f 94 c0             	sete   %al
5f31fc:	41                   	inc    %ecx
5f31fd:	03 c1                	add    %ecx,%eax
5f31ff:	8b ce                	mov    %esi,%ecx
5f3201:	89 46 08             	mov    %eax,0x8(%esi)
5f3204:	e8 60 2f 00 00       	call   0x5f6169
5f3209:	e9 20 ff ff ff       	jmp    0x5f312e
5f320e:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3212:	74 03                	je     0x5f3217
5f3214:	8b 01                	mov    (%ecx),%eax
5f3216:	c3                   	ret
5f3217:	6a 00                	push   $0x0
5f3219:	68 9f 01 00 00       	push   $0x19f
5f321e:	68 78 32 6d 00       	push   $0x6d3278
5f3223:	68 e0 32 6d 00       	push   $0x6d32e0
5f3228:	68 3c 33 6d 00       	push   $0x6d333c
5f322d:	e8 1a 9d ff ff       	call   0x5ecf4c
5f3232:	cc                   	int3
5f3233:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3237:	75 03                	jne    0x5f323c
5f3239:	8b 01                	mov    (%ecx),%eax
5f323b:	c3                   	ret
5f323c:	6a 00                	push   $0x0
5f323e:	68 a5 01 00 00       	push   $0x1a5
5f3243:	68 78 32 6d 00       	push   $0x6d3278
5f3248:	68 58 33 6d 00       	push   $0x6d3358
5f324d:	68 b4 33 6d 00       	push   $0x6d33b4
5f3252:	e8 f5 9c ff ff       	call   0x5ecf4c
5f3257:	cc                   	int3
5f3258:	8b ff                	mov    %edi,%edi
5f325a:	55                   	push   %ebp
5f325b:	8b ec                	mov    %esp,%ebp
5f325d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f3260:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f3264:	74 1c                	je     0x5f3282
5f3266:	e8 a3 ff ff ff       	call   0x5f320e
5f326b:	8b c8                	mov    %eax,%ecx
5f326d:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f3271:	99                   	cltd
5f3272:	c1 e0 1f             	shl    $0x1f,%eax
5f3275:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5f327a:	83 21 00             	andl   $0x0,(%ecx)
5f327d:	89 41 04             	mov    %eax,0x4(%ecx)
5f3280:	5d                   	pop    %ebp
5f3281:	c3                   	ret
5f3282:	e8 ac ff ff ff       	call   0x5f3233
5f3287:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5f328b:	c1 e1 1f             	shl    $0x1f,%ecx
5f328e:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
5f3294:	89 08                	mov    %ecx,(%eax)
5f3296:	5d                   	pop    %ebp
5f3297:	c3                   	ret
5f3298:	8b ff                	mov    %edi,%edi
5f329a:	55                   	push   %ebp
5f329b:	8b ec                	mov    %esp,%ebp
5f329d:	83 ec 24             	sub    $0x24,%esp
5f32a0:	53                   	push   %ebx
5f32a1:	56                   	push   %esi
5f32a2:	8b 75 0c             	mov    0xc(%ebp),%esi
5f32a5:	33 db                	xor    %ebx,%ebx
5f32a7:	57                   	push   %edi
5f32a8:	8b 7d 08             	mov    0x8(%ebp),%edi
5f32ab:	3b f3                	cmp    %ebx,%esi
5f32ad:	77 14                	ja     0x5f32c3
5f32af:	83 ff ff             	cmp    $0xffffffff,%edi
5f32b2:	77 0f                	ja     0x5f32c3
5f32b4:	0f bd c7             	bsr    %edi,%eax
5f32b7:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f32ba:	74 03                	je     0x5f32bf
5f32bc:	40                   	inc    %eax
5f32bd:	eb 14                	jmp    0x5f32d3
5f32bf:	8b c3                	mov    %ebx,%eax