5a2295:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2298:	99                   	cltd
5a2299:	f7 fe                	idiv   %esi
5a229b:	8b d8                	mov    %eax,%ebx
5a229d:	83 fb 01             	cmp    $0x1,%ebx
5a22a0:	0f 8c 06 01 00 00    	jl     0x5a23ac
5a22a6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a22a9:	8d 04 40             	lea    (%eax,%eax,2),%eax
5a22ac:	99                   	cltd
5a22ad:	f7 fe                	idiv   %esi
5a22af:	85 c0                	test   %eax,%eax
5a22b1:	79 03                	jns    0x5a22b6
5a22b3:	83 c0 03             	add    $0x3,%eax
5a22b6:	c1 f8 02             	sar    $0x2,%eax
5a22b9:	3b d8                	cmp    %eax,%ebx
5a22bb:	7e 04                	jle    0x5a22c1
5a22bd:	33 ff                	xor    %edi,%edi
5a22bf:	eb 05                	jmp    0x5a22c6
5a22c1:	bf 01 00 00 00       	mov    $0x1,%edi
5a22c6:	8b c3                	mov    %ebx,%eax
5a22c8:	e8 93 0f e6 ff       	call   0x403260
5a22cd:	3b f8                	cmp    %eax,%edi
5a22cf:	7c 41                	jl     0x5a2312
5a22d1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a22d4:	2b 45 fc             	sub    -0x4(%ebp),%eax
5a22d7:	8b d3                	mov    %ebx,%edx
5a22d9:	0f af d6             	imul   %esi,%edx
5a22dc:	2b c2                	sub    %edx,%eax
5a22de:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a22e1:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a22e4:	03 c6                	add    %esi,%eax
5a22e6:	50                   	push   %eax
5a22e7:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a22ea:	03 c6                	add    %esi,%eax
5a22ec:	50                   	push   %eax
5a22ed:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a22f0:	50                   	push   %eax
5a22f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a22f4:	50                   	push   %eax
5a22f5:	e8 e6 51 e6 ff       	call   0x4074e0
5a22fa:	8b f8                	mov    %eax,%edi
5a22fc:	6a 02                	push   $0x2
5a22fe:	57                   	push   %edi
5a22ff:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2302:	50                   	push   %eax
5a2303:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2306:	50                   	push   %eax
5a2307:	e8 3c 51 e6 ff       	call   0x407448
5a230c:	57                   	push   %edi
5a230d:	e8 fe 51 e6 ff       	call   0x407510
5a2312:	4b                   	dec    %ebx
5a2313:	85 db                	test   %ebx,%ebx
5a2315:	75 8f                	jne    0x5a22a6
5a2317:	e9 90 00 00 00       	jmp    0x5a23ac
5a231c:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a231f:	03 c6                	add    %esi,%eax
5a2321:	50                   	push   %eax
5a2322:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a2325:	50                   	push   %eax
5a2326:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a2329:	50                   	push   %eax
5a232a:	6a 00                	push   $0x0
5a232c:	e8 af 51 e6 ff       	call   0x4074e0
5a2331:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a2334:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2337:	99                   	cltd
5a2338:	f7 fe                	idiv   %esi
5a233a:	8b d8                	mov    %eax,%ebx
5a233c:	83 fb 01             	cmp    $0x1,%ebx
5a233f:	7c 6b                	jl     0x5a23ac
5a2341:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2344:	8d 04 40             	lea    (%eax,%eax,2),%eax
5a2347:	99                   	cltd
5a2348:	f7 fe                	idiv   %esi
5a234a:	85 c0                	test   %eax,%eax
5a234c:	79 03                	jns    0x5a2351
5a234e:	83 c0 03             	add    $0x3,%eax
5a2351:	c1 f8 02             	sar    $0x2,%eax
5a2354:	3b d8                	cmp    %eax,%ebx
5a2356:	7e 04                	jle    0x5a235c
5a2358:	33 ff                	xor    %edi,%edi
5a235a:	eb 05                	jmp    0x5a2361
5a235c:	bf 01 00 00 00       	mov    $0x1,%edi
5a2361:	8b c3                	mov    %ebx,%eax
5a2363:	e8 f8 0e e6 ff       	call   0x403260
5a2368:	3b f8                	cmp    %eax,%edi
5a236a:	7c 3b                	jl     0x5a23a7
5a236c:	8b c3                	mov    %ebx,%eax
5a236e:	f7 ee                	imul   %esi
5a2370:	03 45 fc             	add    -0x4(%ebp),%eax
5a2373:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a2376:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a2379:	03 c6                	add    %esi,%eax
5a237b:	50                   	push   %eax
5a237c:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a237f:	50                   	push   %eax
5a2380:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a2383:	50                   	push   %eax
5a2384:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a2387:	2b c6                	sub    %esi,%eax
5a2389:	50                   	push   %eax
5a238a:	e8 51 51 e6 ff       	call   0x4074e0
5a238f:	8b f8                	mov    %eax,%edi
5a2391:	6a 02                	push   $0x2
5a2393:	57                   	push   %edi
5a2394:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2397:	50                   	push   %eax
5a2398:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a239b:	50                   	push   %eax
5a239c:	e8 a7 50 e6 ff       	call   0x407448
5a23a1:	57                   	push   %edi
5a23a2:	e8 69 51 e6 ff       	call   0x407510
5a23a7:	4b                   	dec    %ebx
5a23a8:	85 db                	test   %ebx,%ebx
5a23aa:	75 95                	jne    0x5a2341
5a23ac:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
5a23b0:	74 1e                	je     0x5a23d0
5a23b2:	6a 02                	push   $0x2
5a23b4:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a23b7:	50                   	push   %eax
5a23b8:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a23bb:	50                   	push   %eax
5a23bc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a23bf:	50                   	push   %eax
5a23c0:	e8 83 50 e6 ff       	call   0x407448
5a23c5:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a23c8:	50                   	push   %eax
5a23c9:	e8 42 51 e6 ff       	call   0x407510
5a23ce:	eb 06                	jmp    0x5a23d6
5a23d0:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a23d3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5a23d6:	8b c6                	mov    %esi,%eax
5a23d8:	d1 f8                	sar    $1,%eax
5a23da:	79 03                	jns    0x5a23df
5a23dc:	83 d0 00             	adc    $0x0,%eax
5a23df:	01 45 e8             	add    %eax,-0x18(%ebp)
5a23e2:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a23e5:	3b 45 10             	cmp    0x10(%ebp),%eax
5a23e8:	0f 8c 80 fe ff ff    	jl     0x5a226e
5a23ee:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5a23f2:	0f 84 c5 01 00 00    	je     0x5a25bd
5a23f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a23fb:	3b 45 10             	cmp    0x10(%ebp),%eax
5a23fe:	7d 10                	jge    0x5a2410
5a2400:	8b 45 10             	mov    0x10(%ebp),%eax
5a2403:	b9 0a 00 00 00       	mov    $0xa,%ecx
5a2408:	99                   	cltd
5a2409:	f7 f9                	idiv   %ecx
5a240b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a240e:	eb 05                	jmp    0x5a2415
5a2410:	33 c0                	xor    %eax,%eax
5a2412:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a2415:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2418:	b9 14 00 00 00       	mov    $0x14,%ecx
5a241d:	99                   	cltd
5a241e:	f7 f9                	idiv   %ecx
5a2420:	8b f0                	mov    %eax,%esi
5a2422:	83 fe 02             	cmp    $0x2,%esi
5a2425:	7d 05                	jge    0x5a242c
5a2427:	be 02 00 00 00       	mov    $0x2,%esi
5a242c:	33 c0                	xor    %eax,%eax
5a242e:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a2431:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a2434:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5a2437:	0f 8d 80 01 00 00    	jge    0x5a25bd
5a243d:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
5a2441:	0f 85 a4 00 00 00    	jne    0x5a24eb
5a2447:	8b 45 10             	mov    0x10(%ebp),%eax
5a244a:	50                   	push   %eax
5a244b:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a244e:	03 c6                	add    %esi,%eax
5a2450:	50                   	push   %eax
5a2451:	8b 45 10             	mov    0x10(%ebp),%eax
5a2454:	2b 45 f8             	sub    -0x8(%ebp),%eax
5a2457:	50                   	push   %eax
5a2458:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a245b:	50                   	push   %eax
5a245c:	e8 7f 50 e6 ff       	call   0x4074e0
5a2461:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a2464:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2467:	99                   	cltd
5a2468:	f7 fe                	idiv   %esi
5a246a:	8b d8                	mov    %eax,%ebx
5a246c:	83 fb 01             	cmp    $0x1,%ebx
5a246f:	0f 8c 06 01 00 00    	jl     0x5a257b
5a2475:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2478:	8d 04 40             	lea    (%eax,%eax,2),%eax
5a247b:	99                   	cltd
5a247c:	f7 fe                	idiv   %esi
5a247e:	85 c0                	test   %eax,%eax
5a2480:	79 03                	jns    0x5a2485
5a2482:	83 c0 03             	add    $0x3,%eax
5a2485:	c1 f8 02             	sar    $0x2,%eax
5a2488:	3b d8                	cmp    %eax,%ebx
5a248a:	7e 04                	jle    0x5a2490
5a248c:	33 ff                	xor    %edi,%edi
5a248e:	eb 05                	jmp    0x5a2495
5a2490:	bf 01 00 00 00       	mov    $0x1,%edi
5a2495:	8b c3                	mov    %ebx,%eax
5a2497:	e8 c4 0d e6 ff       	call   0x403260
5a249c:	3b f8                	cmp    %eax,%edi
5a249e:	7c 41                	jl     0x5a24e1
5a24a0:	8b 45 10             	mov    0x10(%ebp),%eax
5a24a3:	2b 45 f8             	sub    -0x8(%ebp),%eax
5a24a6:	8b d3                	mov    %ebx,%edx
5a24a8:	0f af d6             	imul   %esi,%edx
5a24ab:	2b c2                	sub    %edx,%eax
5a24ad:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a24b0:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a24b3:	03 c6                	add    %esi,%eax
5a24b5:	50                   	push   %eax
5a24b6:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a24b9:	03 c6                	add    %esi,%eax
5a24bb:	50                   	push   %eax
5a24bc:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a24bf:	50                   	push   %eax
5a24c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a24c3:	50                   	push   %eax
5a24c4:	e8 17 50 e6 ff       	call   0x4074e0
5a24c9:	8b f8                	mov    %eax,%edi
5a24cb:	6a 02                	push   $0x2
5a24cd:	57                   	push   %edi
5a24ce:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a24d1:	50                   	push   %eax
5a24d2:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a24d5:	50                   	push   %eax
5a24d6:	e8 6d 4f e6 ff       	call   0x407448
5a24db:	57                   	push   %edi
5a24dc:	e8 2f 50 e6 ff       	call   0x407510
5a24e1:	4b                   	dec    %ebx
5a24e2:	85 db                	test   %ebx,%ebx
5a24e4:	75 8f                	jne    0x5a2475
5a24e6:	e9 90 00 00 00       	jmp    0x5a257b
5a24eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a24ee:	50                   	push   %eax
5a24ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a24f2:	03 c6                	add    %esi,%eax
5a24f4:	50                   	push   %eax
5a24f5:	6a 00                	push   $0x0
5a24f7:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a24fa:	50                   	push   %eax
5a24fb:	e8 e0 4f e6 ff       	call   0x4074e0
5a2500:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a2503:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2506:	99                   	cltd
5a2507:	f7 fe                	idiv   %esi
5a2509:	8b d8                	mov    %eax,%ebx
5a250b:	83 fb 01             	cmp    $0x1,%ebx
5a250e:	7c 6b                	jl     0x5a257b
5a2510:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a2513:	8d 04 40             	lea    (%eax,%eax,2),%eax
5a2516:	99                   	cltd
5a2517:	f7 fe                	idiv   %esi
5a2519:	85 c0                	test   %eax,%eax
5a251b:	79 03                	jns    0x5a2520
5a251d:	83 c0 03             	add    $0x3,%eax
5a2520:	c1 f8 02             	sar    $0x2,%eax
5a2523:	3b d8                	cmp    %eax,%ebx
5a2525:	7e 04                	jle    0x5a252b
5a2527:	33 ff                	xor    %edi,%edi
5a2529:	eb 05                	jmp    0x5a2530
5a252b:	bf 01 00 00 00       	mov    $0x1,%edi
5a2530:	8b c3                	mov    %ebx,%eax
5a2532:	e8 29 0d e6 ff       	call   0x403260
5a2537:	3b f8                	cmp    %eax,%edi
5a2539:	7c 3b                	jl     0x5a2576
5a253b:	8b c3                	mov    %ebx,%eax
5a253d:	f7 ee                	imul   %esi
5a253f:	03 45 f8             	add    -0x8(%ebp),%eax
5a2542:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a2545:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a2548:	50                   	push   %eax
5a2549:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a254c:	03 c6                	add    %esi,%eax
5a254e:	50                   	push   %eax
5a254f:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a2552:	2b c6                	sub    %esi,%eax
5a2554:	50                   	push   %eax
5a2555:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a2558:	50                   	push   %eax
5a2559:	e8 82 4f e6 ff       	call   0x4074e0
5a255e:	8b f8                	mov    %eax,%edi
5a2560:	6a 02                	push   $0x2
5a2562:	57                   	push   %edi
5a2563:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2566:	50                   	push   %eax
5a2567:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a256a:	50                   	push   %eax
5a256b:	e8 d8 4e e6 ff       	call   0x407448
5a2570:	57                   	push   %edi
5a2571:	e8 9a 4f e6 ff       	call   0x407510
5a2576:	4b                   	dec    %ebx
5a2577:	85 db                	test   %ebx,%ebx
5a2579:	75 95                	jne    0x5a2510
5a257b:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
5a257f:	74 1e                	je     0x5a259f
5a2581:	6a 02                	push   $0x2
5a2583:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2586:	50                   	push   %eax
5a2587:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a258a:	50                   	push   %eax
5a258b:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a258e:	50                   	push   %eax
5a258f:	e8 b4 4e e6 ff       	call   0x407448
5a2594:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a2597:	50                   	push   %eax
5a2598:	e8 73 4f e6 ff       	call   0x407510
5a259d:	eb 06                	jmp    0x5a25a5
5a259f:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a25a2:	89 45 f0             	mov    %eax,-0x10(%ebp)
5a25a5:	8b c6                	mov    %esi,%eax
5a25a7:	d1 f8                	sar    $1,%eax
5a25a9:	79 03                	jns    0x5a25ae
5a25ab:	83 d0 00             	adc    $0x0,%eax
5a25ae:	01 45 ec             	add    %eax,-0x14(%ebp)
5a25b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a25b4:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5a25b7:	0f 8c 80 fe ff ff    	jl     0x5a243d
5a25bd:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a25c0:	5f                   	pop    %edi
5a25c1:	5e                   	pop    %esi
5a25c2:	5b                   	pop    %ebx
5a25c3:	8b e5                	mov    %ebp,%esp
5a25c5:	5d                   	pop    %ebp
5a25c6:	c2 0c 00             	ret    $0xc
5a25c9:	8d 40 00             	lea    0x0(%eax),%eax
5a25cc:	55                   	push   %ebp
5a25cd:	8b ec                	mov    %esp,%ebp
5a25cf:	83 c4 e8             	add    $0xffffffe8,%esp
5a25d2:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a25d5:	89 55 ec             	mov    %edx,-0x14(%ebp)
5a25d8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5a25db:	8b 45 10             	mov    0x10(%ebp),%eax
5a25de:	89 45 f4             	mov    %eax,-0xc(%ebp)
5a25e1:	8b 45 0c             	mov    0xc(%ebp),%eax
5a25e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
5a25e7:	8b 45 08             	mov    0x8(%ebp),%eax
5a25ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a25ed:	6a 02                	push   $0x2
5a25ef:	6a 03                	push   $0x3
5a25f1:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a25f4:	50                   	push   %eax
5a25f5:	e8 de 4e e6 ff       	call   0x4074d8
5a25fa:	8b e5                	mov    %ebp,%esp
5a25fc:	5d                   	pop    %ebp
5a25fd:	c2 0c 00             	ret    $0xc
5a2600:	55                   	push   %ebp
5a2601:	8b ec                	mov    %esp,%ebp
5a2603:	83 c4 bc             	add    $0xffffffbc,%esp
5a2606:	53                   	push   %ebx