56302e:	8b 4d 14             	mov    0x14(%ebp),%ecx
563031:	03 c2                	add    %edx,%eax
563033:	8b 55 14             	mov    0x14(%ebp),%edx
563036:	8b 79 1c             	mov    0x1c(%ecx),%edi
563039:	8b 4a 14             	mov    0x14(%edx),%ecx
56303c:	03 f9                	add    %ecx,%edi
56303e:	4f                   	dec    %edi
56303f:	2b f8                	sub    %eax,%edi
563041:	85 ff                	test   %edi,%edi
563043:	0f 8c 64 03 00 00    	jl     0x5633ad
563049:	8b 46 08             	mov    0x8(%esi),%eax
56304c:	8b 55 f0             	mov    -0x10(%ebp),%edx
56304f:	03 c2                	add    %edx,%eax
563051:	83 c0 02             	add    $0x2,%eax
563054:	b9 03 00 00 00       	mov    $0x3,%ecx
563059:	99                   	cltd
56305a:	f7 f9                	idiv   %ecx
56305c:	89 55 ec             	mov    %edx,-0x14(%ebp)
56305f:	85 ff                	test   %edi,%edi
563061:	7c 05                	jl     0x563068
563063:	83 ff 1f             	cmp    $0x1f,%edi
563066:	7c 17                	jl     0x56307f
563068:	68 35 01 00 00       	push   $0x135
56306d:	68 f6 f1 69 00       	push   $0x69f1f6
563072:	68 df f1 69 00       	push   $0x69f1df
563077:	e8 c4 7a ff ff       	call   0x55ab40
56307c:	83 c4 0c             	add    $0xc,%esp
56307f:	8b 45 ec             	mov    -0x14(%ebp),%eax
563082:	83 e8 01             	sub    $0x1,%eax
563085:	72 12                	jb     0x563099
563087:	0f 84 96 00 00 00    	je     0x563123
56308d:	48                   	dec    %eax
56308e:	0f 84 12 01 00 00    	je     0x5631a6
563094:	e9 8f 01 00 00       	jmp    0x563228
563099:	8b 46 14             	mov    0x14(%esi),%eax
56309c:	48                   	dec    %eax
56309d:	75 43                	jne    0x5630e2
56309f:	8b 55 14             	mov    0x14(%ebp),%edx
5630a2:	8b 4a 08             	mov    0x8(%edx),%ecx
5630a5:	51                   	push   %ecx
5630a6:	8b 45 e8             	mov    -0x18(%ebp),%eax
5630a9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5630ac:	8b d0                	mov    %eax,%edx
5630ae:	8d 04 c2             	lea    (%edx,%eax,8),%eax
5630b1:	c1 e0 03             	shl    $0x3,%eax
5630b4:	2b c2                	sub    %edx,%eax
5630b6:	8b 51 20             	mov    0x20(%ecx),%edx
5630b9:	8b 4a 10             	mov    0x10(%edx),%ecx
5630bc:	f6 84 81 d6 00 00 00 	testb  $0x8,0xd6(%ecx,%eax,4)
5630c3:	08
5630c4:	0f 95 c0             	setne  %al
5630c7:	83 e0 01             	and    $0x1,%eax
5630ca:	8b cf                	mov    %edi,%ecx
5630cc:	50                   	push   %eax
5630cd:	8b 43 24             	mov    0x24(%ebx),%eax
5630d0:	50                   	push   %eax
5630d1:	8b 53 28             	mov    0x28(%ebx),%edx
5630d4:	52                   	push   %edx
5630d5:	8b 53 1c             	mov    0x1c(%ebx),%edx
5630d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5630db:	e8 d8 02 00 00       	call   0x5633b8
5630e0:	eb 3a                	jmp    0x56311c
5630e2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5630e5:	8b 55 f8             	mov    -0x8(%ebp),%edx
5630e8:	8b c1                	mov    %ecx,%eax
5630ea:	8d 0c c8             	lea    (%eax,%ecx,8),%ecx
5630ed:	c1 e1 03             	shl    $0x3,%ecx
5630f0:	2b c8                	sub    %eax,%ecx
5630f2:	8b 42 20             	mov    0x20(%edx),%eax
5630f5:	8b 50 10             	mov    0x10(%eax),%edx
5630f8:	f6 84 8a d6 00 00 00 	testb  $0x8,0xd6(%edx,%ecx,4)
5630ff:	08
563100:	0f 95 c1             	setne  %cl
563103:	83 e1 01             	and    $0x1,%ecx
563106:	51                   	push   %ecx
563107:	8b cf                	mov    %edi,%ecx
563109:	8b 43 24             	mov    0x24(%ebx),%eax
56310c:	50                   	push   %eax
56310d:	8b 53 28             	mov    0x28(%ebx),%edx
563110:	52                   	push   %edx
563111:	8b 53 20             	mov    0x20(%ebx),%edx
563114:	8b 45 fc             	mov    -0x4(%ebp),%eax
563117:	e8 50 0b 00 00       	call   0x563c6c
56311c:	8b f8                	mov    %eax,%edi
56311e:	e9 08 01 00 00       	jmp    0x56322b
563123:	8b 4e 14             	mov    0x14(%esi),%ecx
563126:	49                   	dec    %ecx
563127:	75 3c                	jne    0x563165
563129:	8b 45 e8             	mov    -0x18(%ebp),%eax
56312c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
56312f:	8b d0                	mov    %eax,%edx
563131:	8d 04 c2             	lea    (%edx,%eax,8),%eax
563134:	c1 e0 03             	shl    $0x3,%eax
563137:	2b c2                	sub    %edx,%eax
563139:	8b 51 20             	mov    0x20(%ecx),%edx
56313c:	8b 4a 10             	mov    0x10(%edx),%ecx
56313f:	f6 84 81 d6 00 00 00 	testb  $0x8,0xd6(%ecx,%eax,4)
563146:	08
563147:	0f 95 c0             	setne  %al
56314a:	83 e0 01             	and    $0x1,%eax
56314d:	8b cf                	mov    %edi,%ecx
56314f:	50                   	push   %eax
563150:	8b 43 24             	mov    0x24(%ebx),%eax
563153:	50                   	push   %eax
563154:	8b 53 28             	mov    0x28(%ebx),%edx
563157:	52                   	push   %edx
563158:	8b 53 1c             	mov    0x1c(%ebx),%edx
56315b:	8b 45 fc             	mov    -0x4(%ebp),%eax
56315e:	e8 0d 12 00 00       	call   0x564370
563163:	eb 3a                	jmp    0x56319f
563165:	8b 4d e8             	mov    -0x18(%ebp),%ecx
563168:	8b 55 f8             	mov    -0x8(%ebp),%edx
56316b:	8b c1                	mov    %ecx,%eax
56316d:	8d 0c c8             	lea    (%eax,%ecx,8),%ecx
563170:	c1 e1 03             	shl    $0x3,%ecx
563173:	2b c8                	sub    %eax,%ecx
563175:	8b 42 20             	mov    0x20(%edx),%eax
563178:	8b 50 10             	mov    0x10(%eax),%edx
56317b:	f6 84 8a d6 00 00 00 	testb  $0x8,0xd6(%edx,%ecx,4)
563182:	08
563183:	0f 95 c1             	setne  %cl
563186:	83 e1 01             	and    $0x1,%ecx
563189:	51                   	push   %ecx
56318a:	8b cf                	mov    %edi,%ecx
56318c:	8b 43 24             	mov    0x24(%ebx),%eax
56318f:	50                   	push   %eax
563190:	8b 53 28             	mov    0x28(%ebx),%edx
563193:	52                   	push   %edx
563194:	8b 53 20             	mov    0x20(%ebx),%edx
563197:	8b 45 fc             	mov    -0x4(%ebp),%eax
56319a:	e8 41 16 00 00       	call   0x5647e0
56319f:	8b f8                	mov    %eax,%edi
5631a1:	e9 85 00 00 00       	jmp    0x56322b
5631a6:	8b 4e 14             	mov    0x14(%esi),%ecx
5631a9:	49                   	dec    %ecx
5631aa:	74 17                	je     0x5631c3
5631ac:	68 4a 01 00 00       	push   $0x14a
5631b1:	68 1a f2 69 00       	push   $0x69f21a
5631b6:	68 02 f2 69 00       	push   $0x69f202
5631bb:	e8 80 79 ff ff       	call   0x55ab40
5631c0:	83 c4 0c             	add    $0xc,%esp
5631c3:	8b 55 14             	mov    0x14(%ebp),%edx
5631c6:	8b 4a 08             	mov    0x8(%edx),%ecx
5631c9:	51                   	push   %ecx
5631ca:	8b 45 e8             	mov    -0x18(%ebp),%eax
5631cd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5631d0:	8b d0                	mov    %eax,%edx
5631d2:	8d 04 c2             	lea    (%edx,%eax,8),%eax
5631d5:	c1 e0 03             	shl    $0x3,%eax
5631d8:	2b c2                	sub    %edx,%eax
5631da:	8b 51 20             	mov    0x20(%ecx),%edx
5631dd:	8b 4a 10             	mov    0x10(%edx),%ecx
5631e0:	8a 84 81 d6 00 00 00 	mov    0xd6(%ecx,%eax,4),%al
5631e7:	a8 08                	test   $0x8,%al
5631e9:	0f 95 c2             	setne  %dl
5631ec:	83 e2 01             	and    $0x1,%edx
5631ef:	52                   	push   %edx
5631f0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5631f3:	8b d1                	mov    %ecx,%edx
5631f5:	8d 0c ca             	lea    (%edx,%ecx,8),%ecx
5631f8:	c1 e1 03             	shl    $0x3,%ecx
5631fb:	2b ca                	sub    %edx,%ecx
5631fd:	8b 55 f8             	mov    -0x8(%ebp),%edx
563200:	a8 20                	test   $0x20,%al
563202:	0f 95 c0             	setne  %al
563205:	8b 52 20             	mov    0x20(%edx),%edx
563208:	83 e0 01             	and    $0x1,%eax
56320b:	8b 52 10             	mov    0x10(%edx),%edx
56320e:	50                   	push   %eax
56320f:	8b 4b 24             	mov    0x24(%ebx),%ecx
563212:	51                   	push   %ecx
563213:	8b cf                	mov    %edi,%ecx
563215:	8b 43 28             	mov    0x28(%ebx),%eax
563218:	50                   	push   %eax
563219:	8b 45 fc             	mov    -0x4(%ebp),%eax
56321c:	8b 53 1c             	mov    0x1c(%ebx),%edx
56321f:	e8 38 19 00 00       	call   0x564b5c
563224:	8b f8                	mov    %eax,%edi
563226:	eb 03                	jmp    0x56322b
563228:	83 cf ff             	or     $0xffffffff,%edi
56322b:	8b 45 e8             	mov    -0x18(%ebp),%eax
56322e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563231:	8b d0                	mov    %eax,%edx
563233:	8d 04 c2             	lea    (%edx,%eax,8),%eax
563236:	c1 e0 03             	shl    $0x3,%eax
563239:	2b c2                	sub    %edx,%eax
56323b:	8b 51 20             	mov    0x20(%ecx),%edx
56323e:	8b 4a 10             	mov    0x10(%edx),%ecx
563241:	f6 84 81 d6 00 00 00 	testb  $0x2,0xd6(%ecx,%eax,4)
563248:	02
563249:	74 12                	je     0x56325d
56324b:	b9 30 14 6b 00       	mov    $0x6b1430,%ecx
563250:	ba 13 00 00 00       	mov    $0x13,%edx
563255:	8b 43 1c             	mov    0x1c(%ebx),%eax
563258:	e8 93 e9 00 00       	call   0x571bf0
56325d:	85 ff                	test   %edi,%edi
56325f:	74 22                	je     0x563283
563261:	8b 46 14             	mov    0x14(%esi),%eax
563264:	50                   	push   %eax
563265:	8b 55 ec             	mov    -0x14(%ebp),%edx
563268:	52                   	push   %edx
563269:	68 26 f2 69 00       	push   $0x69f226
56326e:	68 80 2e 6a 00       	push   $0x6a2e80
563273:	e8 54 6e 01 00       	call   0x57a0cc
563278:	83 c4 10             	add    $0x10,%esp
56327b:	83 c8 ff             	or     $0xffffffff,%eax
56327e:	e9 2c 01 00 00       	jmp    0x5633af
563283:	ff 45 f0             	incl   -0x10(%ebp)
563286:	8b 55 f0             	mov    -0x10(%ebp),%edx
563289:	8b 4e 0c             	mov    0xc(%esi),%ecx
56328c:	3b d1                	cmp    %ecx,%edx
56328e:	0f 8c 11 fd ff ff    	jl     0x562fa5
563294:	8b 46 14             	mov    0x14(%esi),%eax
563297:	83 f8 01             	cmp    $0x1,%eax
56329a:	0f 84 95 00 00 00    	je     0x563335
5632a0:	83 f8 02             	cmp    $0x2,%eax
5632a3:	74 17                	je     0x5632bc
5632a5:	68 64 01 00 00       	push   $0x164
5632aa:	68 6a f2 69 00       	push   $0x69f26a
5632af:	68 51 f2 69 00       	push   $0x69f251
5632b4:	e8 87 78 ff ff       	call   0x55ab40
5632b9:	83 c4 0c             	add    $0xc,%esp
5632bc:	8b 55 e8             	mov    -0x18(%ebp),%edx
5632bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5632c2:	8b ca                	mov    %edx,%ecx
5632c4:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5632c7:	c1 e2 03             	shl    $0x3,%edx
5632ca:	2b d1                	sub    %ecx,%edx
5632cc:	8b 48 20             	mov    0x20(%eax),%ecx
5632cf:	8b 41 10             	mov    0x10(%ecx),%eax
5632d2:	f6 84 90 d6 00 00 00 	testb  $0x10,0xd6(%eax,%edx,4)
5632d9:	10
5632da:	74 10                	je     0x5632ec
5632dc:	c7 45 e0 7f 00 00 00 	movl   $0x7f,-0x20(%ebp)
5632e3:	c7 45 e4 2a 00 00 00 	movl   $0x2a,-0x1c(%ebp)
5632ea:	eb 0a                	jmp    0x5632f6
5632ec:	33 d2                	xor    %edx,%edx
5632ee:	33 c9                	xor    %ecx,%ecx
5632f0:	89 55 e0             	mov    %edx,-0x20(%ebp)
5632f3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5632f6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5632f9:	8b 55 e0             	mov    -0x20(%ebp),%edx
5632fc:	8b 43 20             	mov    0x20(%ebx),%eax
5632ff:	e8 58 db 00 00       	call   0x570e5c
563304:	8b f8                	mov    %eax,%edi
563306:	85 c0                	test   %eax,%eax
563308:	7d 08                	jge    0x563312
56330a:	83 c8 ff             	or     $0xffffffff,%eax
56330d:	e9 9d 00 00 00       	jmp    0x5633af
563312:	85 ff                	test   %edi,%edi
563314:	7e 12                	jle    0x563328
563316:	68 76 f2 69 00       	push   $0x69f276
56331b:	68 80 2e 6a 00       	push   $0x6a2e80
563320:	e8 a7 6d 01 00       	call   0x57a0cc
563325:	83 c4 08             	add    $0x8,%esp
563328:	8b 43 20             	mov    0x20(%ebx),%eax
56332b:	e8 a4 d5 00 00       	call   0x5708d4
563330:	33 d2                	xor    %edx,%edx
563332:	89 53 20             	mov    %edx,0x20(%ebx)
563335:	8b 0e                	mov    (%esi),%ecx
563337:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56333a:	8d 43 04             	lea    0x4(%ebx),%eax
56333d:	8b d6                	mov    %esi,%edx
56333f:	e8 c0 f2 ff ff       	call   0x562604
563344:	8b c6                	mov    %esi,%eax
563346:	e8 31 f3 ff ff       	call   0x56267c
56334b:	8b 73 0c             	mov    0xc(%ebx),%esi
56334e:	85 f6                	test   %esi,%esi
563350:	74 27                	je     0x563379
563352:	8b 43 0c             	mov    0xc(%ebx),%eax
563355:	3b f0                	cmp    %eax,%esi
563357:	75 07                	jne    0x563360
563359:	8b 55 0c             	mov    0xc(%ebp),%edx
56335c:	85 d2                	test   %edx,%edx
56335e:	74 19                	je     0x563379
563360:	8b 4d 08             	mov    0x8(%ebp),%ecx
563363:	85 c9                	test   %ecx,%ecx
563365:	0f 8c 38 fb ff ff    	jl     0x562ea3
56336b:	8b 46 24             	mov    0x24(%esi),%eax
56336e:	8b 55 08             	mov    0x8(%ebp),%edx
563371:	3b c2                	cmp    %edx,%eax
563373:	0f 8c 2a fb ff ff    	jl     0x562ea3
563379:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56337c:	85 c9                	test   %ecx,%ecx
56337e:	74 0d                	je     0x56338d
563380:	8b 43 0c             	mov    0xc(%ebx),%eax
563383:	85 c0                	test   %eax,%eax
563385:	0f 94 c2             	sete   %dl
563388:	83 e2 01             	and    $0x1,%edx
56338b:	eb 05                	jmp    0x563392
56338d:	ba 01 00 00 00       	mov    $0x1,%edx
563392:	85 d2                	test   %edx,%edx
563394:	75 17                	jne    0x5633ad
563396:	68 7c 01 00 00       	push   $0x17c
56339b:	68 c1 f2 69 00       	push   $0x69f2c1
5633a0:	68 a1 f2 69 00       	push   $0x69f2a1
5633a5:	e8 96 77 ff ff       	call   0x55ab40
5633aa:	83 c4 0c             	add    $0xc,%esp
5633ad:	33 c0                	xor    %eax,%eax
5633af:	5f                   	pop    %edi
5633b0:	5e                   	pop    %esi
5633b1:	5b                   	pop    %ebx
5633b2:	8b e5                	mov    %ebp,%esp
5633b4:	5d                   	pop    %ebp
5633b5:	c2 10 00             	ret    $0x10
5633b8:	55                   	push   %ebp
5633b9:	8b ec                	mov    %esp,%ebp
5633bb:	83 c4 94             	add    $0xffffff94,%esp
5633be:	53                   	push   %ebx
5633bf:	56                   	push   %esi
5633c0:	57                   	push   %edi
5633c1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5633c4:	8b da                	mov    %edx,%ebx
5633c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
5633c9:	8b 45 08             	mov    0x8(%ebp),%eax
5633cc:	8b 50 18             	mov    0x18(%eax),%edx
5633cf:	89 55 dc             	mov    %edx,-0x24(%ebp)
5633d2:	8b 4d 08             	mov    0x8(%ebp),%ecx
5633d5:	8b 41 14             	mov    0x14(%ecx),%eax
5633d8:	89 45 d8             	mov    %eax,-0x28(%ebp)
5633db:	8b 55 0c             	mov    0xc(%ebp),%edx
5633de:	8b 4a 14             	mov    0x14(%edx),%ecx
5633e1:	49                   	dec    %ecx
5633e2:	7e 1f                	jle    0x563403
5633e4:	8b 45 0c             	mov    0xc(%ebp),%eax
5633e7:	8b 50 1c             	mov    0x1c(%eax),%edx
5633ea:	8b 45 0c             	mov    0xc(%ebp),%eax
5633ed:	8b 7a 04             	mov    0x4(%edx),%edi
5633f0:	8b 50 1c             	mov    0x1c(%eax),%edx
5633f3:	8b 0a                	mov    (%edx),%ecx
5633f5:	2b f9                	sub    %ecx,%edi
5633f7:	85 ff                	test   %edi,%edi
5633f9:	79 03                	jns    0x5633fe
5633fb:	83 c7 03             	add    $0x3,%edi
5633fe:	c1 ff 02             	sar    $0x2,%edi
563401:	eb 02                	jmp    0x563405
563403:	33 ff                	xor    %edi,%edi
563405:	8b 45 08             	mov    0x8(%ebp),%eax
563408:	8b 50 14             	mov    0x14(%eax),%edx
56340b:	4a                   	dec    %edx
56340c:	7e 1f                	jle    0x56342d
56340e:	8b 4d 08             	mov    0x8(%ebp),%ecx
563411:	8b 41 1c             	mov    0x1c(%ecx),%eax
563414:	8b 4d 08             	mov    0x8(%ebp),%ecx
563417:	8b 50 04             	mov    0x4(%eax),%edx
56341a:	8b 41 1c             	mov    0x1c(%ecx),%eax
56341d:	8b 08                	mov    (%eax),%ecx
56341f:	2b d1                	sub    %ecx,%edx
563421:	85 d2                	test   %edx,%edx
563423:	79 03                	jns    0x563428