407314:	88 4d 08             	mov    %cl,0x8(%ebp)
407317:	8b d7                	mov    %edi,%edx
407319:	8b cb                	mov    %ebx,%ecx
40731b:	d3 ea                	shr    %cl,%edx
40731d:	8b c8                	mov    %eax,%ecx
40731f:	2b ce                	sub    %esi,%ecx
407321:	c1 f9 02             	sar    $0x2,%ecx
407324:	2b ca                	sub    %edx,%ecx
407326:	66 89 4d 0a          	mov    %cx,0xa(%ebp)
40732a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40732d:	89 0c 96             	mov    %ecx,(%esi,%edx,4)
407330:	eb 05                	jmp    0x407337
407332:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
407335:	89 01                	mov    %eax,(%ecx)
407337:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40733a:	8b d9                	mov    %ecx,%ebx
40733c:	03 4d 20             	add    0x20(%ebp),%ecx
40733f:	39 4d fc             	cmp    %ecx,-0x4(%ebp)
407342:	89 4d ec             	mov    %ecx,-0x14(%ebp)
407345:	0f 8f 38 ff ff ff    	jg     0x407283
40734b:	8a 4d fc             	mov    -0x4(%ebp),%cl
40734e:	8b 75 e0             	mov    -0x20(%ebp),%esi
407351:	2a cb                	sub    %bl,%cl
407353:	88 4d 09             	mov    %cl,0x9(%ebp)
407356:	8b 4d 0c             	mov    0xc(%ebp),%ecx
407359:	8d 0c 8d b0 d6 42 00 	lea    0x42d6b0(,%ecx,4),%ecx
407360:	3b f1                	cmp    %ecx,%esi
407362:	72 06                	jb     0x40736a
407364:	c6 45 08 c0          	movb   $0xc0,0x8(%ebp)
407368:	eb 43                	jmp    0x4073ad
40736a:	8b 0e                	mov    (%esi),%ecx
40736c:	3b 4d 10             	cmp    0x10(%ebp),%ecx
40736f:	73 1c                	jae    0x40738d
407371:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
407377:	0f 92 c1             	setb   %cl
40737a:	fe c9                	dec    %cl
40737c:	83 e1 60             	and    $0x60,%ecx
40737f:	88 4d 08             	mov    %cl,0x8(%ebp)
407382:	66 8b 0e             	mov    (%esi),%cx
407385:	83 c6 04             	add    $0x4,%esi
407388:	89 75 e0             	mov    %esi,-0x20(%ebp)
40738b:	eb 1c                	jmp    0x4073a9
40738d:	2b 4d 10             	sub    0x10(%ebp),%ecx
407390:	8b 55 18             	mov    0x18(%ebp),%edx
407393:	03 c9                	add    %ecx,%ecx
407395:	8a 14 11             	mov    (%ecx,%edx,1),%dl
407398:	80 c2 50             	add    $0x50,%dl
40739b:	83 45 e0 04          	addl   $0x4,-0x20(%ebp)
40739f:	88 55 08             	mov    %dl,0x8(%ebp)
4073a2:	8b 55 14             	mov    0x14(%ebp),%edx
4073a5:	66 8b 0c 11          	mov    (%ecx,%edx,1),%cx
4073a9:	66 89 4d 0a          	mov    %cx,0xa(%ebp)
4073ad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4073b0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4073b3:	33 ff                	xor    %edi,%edi
4073b5:	2b cb                	sub    %ebx,%ecx
4073b7:	47                   	inc    %edi
4073b8:	8b f7                	mov    %edi,%esi
4073ba:	d3 e6                	shl    %cl,%esi
4073bc:	8b cb                	mov    %ebx,%ecx
4073be:	d3 ea                	shr    %cl,%edx
4073c0:	eb 08                	jmp    0x4073ca
4073c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4073c5:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
4073c8:	03 d6                	add    %esi,%edx
4073ca:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4073cd:	72 f3                	jb     0x4073c2
4073cf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4073d2:	8b 75 f8             	mov    -0x8(%ebp),%esi
4073d5:	8b d7                	mov    %edi,%edx
4073d7:	d3 e2                	shl    %cl,%edx
4073d9:	eb 04                	jmp    0x4073df
4073db:	33 f2                	xor    %edx,%esi
4073dd:	d1 ea                	shr    $1,%edx
4073df:	85 d6                	test   %edx,%esi
4073e1:	75 f8                	jne    0x4073db
4073e3:	8b cf                	mov    %edi,%ecx
4073e5:	33 f2                	xor    %edx,%esi
4073e7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4073ea:	8b cb                	mov    %ebx,%ecx
4073ec:	8b d7                	mov    %edi,%edx
4073ee:	89 75 f8             	mov    %esi,-0x8(%ebp)
4073f1:	d3 e2                	shl    %cl,%edx
4073f3:	4a                   	dec    %edx
4073f4:	23 d6                	and    %esi,%edx
4073f6:	8b ca                	mov    %edx,%ecx
4073f8:	8b 55 f4             	mov    -0xc(%ebp),%edx
4073fb:	3b 8c 95 50 ff ff ff 	cmp    -0xb0(%ebp,%edx,4),%ecx
407402:	74 1a                	je     0x40741e
407404:	2b 5d 20             	sub    0x20(%ebp),%ebx
407407:	8b f7                	mov    %edi,%esi
407409:	4a                   	dec    %edx
40740a:	8b cb                	mov    %ebx,%ecx
40740c:	d3 e6                	shl    %cl,%esi
40740e:	4e                   	dec    %esi
40740f:	23 75 f8             	and    -0x8(%ebp),%esi
407412:	3b b4 95 50 ff ff ff 	cmp    -0xb0(%ebp,%edx,4),%esi
407419:	75 e9                	jne    0x407404
40741b:	89 55 f4             	mov    %edx,-0xc(%ebp)
40741e:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
407422:	0f 85 3f fe ff ff    	jne    0x407267
407428:	ff 45 fc             	incl   -0x4(%ebp)
40742b:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
40742f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407432:	ff 45 d8             	incl   -0x28(%ebp)
407435:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
407438:	0f 8e 1a fe ff ff    	jle    0x407258
40743e:	33 c0                	xor    %eax,%eax
407440:	39 45 d0             	cmp    %eax,-0x30(%ebp)
407443:	74 09                	je     0x40744e
407445:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
407449:	74 03                	je     0x40744e
40744b:	83 c8 ff             	or     $0xffffffff,%eax
40744e:	5f                   	pop    %edi
40744f:	5e                   	pop    %esi
407450:	5b                   	pop    %ebx
407451:	c9                   	leave
407452:	c2 24 00             	ret    $0x24