5a71b5:	50                   	push   %eax
5a71b6:	e8 3d 05 e6 ff       	call   0x4076f8
5a71bb:	53                   	push   %ebx
5a71bc:	e8 4f 03 e6 ff       	call   0x407510
5a71c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a71c4:	50                   	push   %eax
5a71c5:	33 c9                	xor    %ecx,%ecx
5a71c7:	33 d2                	xor    %edx,%edx
5a71c9:	8b c7                	mov    %edi,%eax
5a71cb:	e8 04 14 e8 ff       	call   0x4285d4
5a71d0:	6a 00                	push   $0x0
5a71d2:	8b c7                	mov    %edi,%eax
5a71d4:	e8 e7 1a e8 ff       	call   0x428cc0
5a71d9:	50                   	push   %eax
5a71da:	e8 19 05 e6 ff       	call   0x4076f8
5a71df:	5f                   	pop    %edi
5a71e0:	5e                   	pop    %esi
5a71e1:	5b                   	pop    %ebx
5a71e2:	8b e5                	mov    %ebp,%esp
5a71e4:	5d                   	pop    %ebp
5a71e5:	c2 0c 00             	ret    $0xc
5a71e8:	55                   	push   %ebp
5a71e9:	8b ec                	mov    %esp,%ebp
5a71eb:	83 c4 d8             	add    $0xffffffd8,%esp
5a71ee:	53                   	push   %ebx
5a71ef:	56                   	push   %esi
5a71f0:	57                   	push   %edi
5a71f1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a71f4:	8b f8                	mov    %eax,%edi
5a71f6:	8b 75 10             	mov    0x10(%ebp),%esi
5a71f9:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a71fc:	50                   	push   %eax
5a71fd:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a7200:	50                   	push   %eax
5a7201:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a7204:	50                   	push   %eax
5a7205:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a7208:	50                   	push   %eax
5a7209:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a720c:	50                   	push   %eax
5a720d:	8b c6                	mov    %esi,%eax
5a720f:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a7212:	8b 55 0c             	mov    0xc(%ebp),%edx
5a7215:	e8 da b4 ff ff       	call   0x5a26f4
5a721a:	33 db                	xor    %ebx,%ebx
5a721c:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a721f:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a7222:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5a7226:	7d 07                	jge    0x5a722f
5a7228:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
5a722f:	56                   	push   %esi
5a7230:	57                   	push   %edi
5a7231:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a7234:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7235:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7236:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7237:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7238:	5f                   	pop    %edi
5a7239:	5e                   	pop    %esi
5a723a:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a723d:	f7 6d 08             	imull  0x8(%ebp)
5a7240:	b9 64 00 00 00       	mov    $0x64,%ecx
5a7245:	99                   	cltd
5a7246:	f7 f9                	idiv   %ecx
5a7248:	8b 56 08             	mov    0x8(%esi),%edx
5a724b:	2b d0                	sub    %eax,%edx
5a724d:	89 55 d8             	mov    %edx,-0x28(%ebp)
5a7250:	eb 34                	jmp    0x5a7286
5a7252:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7255:	50                   	push   %eax
5a7256:	e8 8d 02 e6 ff       	call   0x4074e8
5a725b:	8b f0                	mov    %eax,%esi
5a725d:	85 db                	test   %ebx,%ebx
5a725f:	74 12                	je     0x5a7273
5a7261:	6a 02                	push   $0x2
5a7263:	56                   	push   %esi
5a7264:	53                   	push   %ebx
5a7265:	53                   	push   %ebx
5a7266:	e8 dd 01 e6 ff       	call   0x407448
5a726b:	56                   	push   %esi
5a726c:	e8 9f 02 e6 ff       	call   0x407510
5a7271:	eb 02                	jmp    0x5a7275
5a7273:	8b de                	mov    %esi,%ebx
5a7275:	6a 00                	push   $0x0
5a7277:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a727a:	f7 d8                	neg    %eax
5a727c:	50                   	push   %eax
5a727d:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7280:	50                   	push   %eax
5a7281:	e8 f2 09 e6 ff       	call   0x407c78
5a7286:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5a728a:	7d c6                	jge    0x5a7252
5a728c:	53                   	push   %ebx
5a728d:	8b c7                	mov    %edi,%eax
5a728f:	e8 2c 1a e8 ff       	call   0x428cc0
5a7294:	50                   	push   %eax
5a7295:	e8 5e 04 e6 ff       	call   0x4076f8
5a729a:	53                   	push   %ebx
5a729b:	e8 70 02 e6 ff       	call   0x407510
5a72a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a72a3:	50                   	push   %eax
5a72a4:	33 c9                	xor    %ecx,%ecx
5a72a6:	33 d2                	xor    %edx,%edx
5a72a8:	8b c7                	mov    %edi,%eax
5a72aa:	e8 25 13 e8 ff       	call   0x4285d4
5a72af:	6a 00                	push   $0x0
5a72b1:	8b c7                	mov    %edi,%eax
5a72b3:	e8 08 1a e8 ff       	call   0x428cc0
5a72b8:	50                   	push   %eax
5a72b9:	e8 3a 04 e6 ff       	call   0x4076f8
5a72be:	5f                   	pop    %edi
5a72bf:	5e                   	pop    %esi
5a72c0:	5b                   	pop    %ebx
5a72c1:	8b e5                	mov    %ebp,%esp
5a72c3:	5d                   	pop    %ebp
5a72c4:	c2 0c 00             	ret    $0xc
5a72c7:	90                   	nop
5a72c8:	55                   	push   %ebp
5a72c9:	8b ec                	mov    %esp,%ebp
5a72cb:	83 c4 d8             	add    $0xffffffd8,%esp
5a72ce:	53                   	push   %ebx
5a72cf:	56                   	push   %esi
5a72d0:	57                   	push   %edi
5a72d1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a72d4:	8b f8                	mov    %eax,%edi
5a72d6:	8b 75 10             	mov    0x10(%ebp),%esi
5a72d9:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a72dc:	50                   	push   %eax
5a72dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a72e0:	50                   	push   %eax
5a72e1:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a72e4:	50                   	push   %eax
5a72e5:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a72e8:	50                   	push   %eax
5a72e9:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a72ec:	50                   	push   %eax
5a72ed:	8b c6                	mov    %esi,%eax
5a72ef:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a72f2:	8b 55 0c             	mov    0xc(%ebp),%edx
5a72f5:	e8 fa b3 ff ff       	call   0x5a26f4
5a72fa:	33 db                	xor    %ebx,%ebx
5a72fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a72ff:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a7302:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5a7306:	7d 07                	jge    0x5a730f
5a7308:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
5a730f:	57                   	push   %edi
5a7310:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a7313:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7314:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7315:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7316:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7317:	5f                   	pop    %edi
5a7318:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a731b:	f7 6d 08             	imull  0x8(%ebp)
5a731e:	b9 64 00 00 00       	mov    $0x64,%ecx
5a7323:	99                   	cltd
5a7324:	f7 f9                	idiv   %ecx
5a7326:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a7329:	eb 32                	jmp    0x5a735d
5a732b:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a732e:	50                   	push   %eax
5a732f:	e8 b4 01 e6 ff       	call   0x4074e8
5a7334:	8b f0                	mov    %eax,%esi
5a7336:	85 db                	test   %ebx,%ebx
5a7338:	74 12                	je     0x5a734c
5a733a:	6a 02                	push   $0x2
5a733c:	56                   	push   %esi
5a733d:	53                   	push   %ebx
5a733e:	53                   	push   %ebx
5a733f:	e8 04 01 e6 ff       	call   0x407448
5a7344:	56                   	push   %esi
5a7345:	e8 c6 01 e6 ff       	call   0x407510
5a734a:	eb 02                	jmp    0x5a734e
5a734c:	8b de                	mov    %esi,%ebx
5a734e:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a7351:	50                   	push   %eax
5a7352:	6a 00                	push   $0x0
5a7354:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7357:	50                   	push   %eax
5a7358:	e8 1b 09 e6 ff       	call   0x407c78
5a735d:	8b 45 dc             	mov    -0x24(%ebp),%eax
5a7360:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5a7363:	7c c6                	jl     0x5a732b
5a7365:	53                   	push   %ebx
5a7366:	8b c7                	mov    %edi,%eax
5a7368:	e8 53 19 e8 ff       	call   0x428cc0
5a736d:	50                   	push   %eax
5a736e:	e8 85 03 e6 ff       	call   0x4076f8
5a7373:	53                   	push   %ebx
5a7374:	e8 97 01 e6 ff       	call   0x407510
5a7379:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a737c:	50                   	push   %eax
5a737d:	33 c9                	xor    %ecx,%ecx
5a737f:	33 d2                	xor    %edx,%edx
5a7381:	8b c7                	mov    %edi,%eax
5a7383:	e8 4c 12 e8 ff       	call   0x4285d4
5a7388:	6a 00                	push   $0x0
5a738a:	8b c7                	mov    %edi,%eax
5a738c:	e8 2f 19 e8 ff       	call   0x428cc0
5a7391:	50                   	push   %eax
5a7392:	e8 61 03 e6 ff       	call   0x4076f8
5a7397:	5f                   	pop    %edi
5a7398:	5e                   	pop    %esi
5a7399:	5b                   	pop    %ebx
5a739a:	8b e5                	mov    %ebp,%esp
5a739c:	5d                   	pop    %ebp
5a739d:	c2 0c 00             	ret    $0xc
5a73a0:	55                   	push   %ebp
5a73a1:	8b ec                	mov    %esp,%ebp
5a73a3:	83 c4 d8             	add    $0xffffffd8,%esp
5a73a6:	53                   	push   %ebx
5a73a7:	56                   	push   %esi
5a73a8:	57                   	push   %edi
5a73a9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a73ac:	8b f8                	mov    %eax,%edi
5a73ae:	8b 75 10             	mov    0x10(%ebp),%esi
5a73b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a73b4:	50                   	push   %eax
5a73b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a73b8:	50                   	push   %eax
5a73b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a73bc:	50                   	push   %eax
5a73bd:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a73c0:	50                   	push   %eax
5a73c1:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a73c4:	50                   	push   %eax
5a73c5:	8b c6                	mov    %esi,%eax
5a73c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a73ca:	8b 55 0c             	mov    0xc(%ebp),%edx
5a73cd:	e8 22 b3 ff ff       	call   0x5a26f4
5a73d2:	33 db                	xor    %ebx,%ebx
5a73d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a73d7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a73da:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5a73de:	7d 07                	jge    0x5a73e7
5a73e0:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
5a73e7:	56                   	push   %esi
5a73e8:	57                   	push   %edi
5a73e9:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a73ec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73f0:	5f                   	pop    %edi
5a73f1:	5e                   	pop    %esi
5a73f2:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a73f5:	f7 6d 08             	imull  0x8(%ebp)
5a73f8:	b9 64 00 00 00       	mov    $0x64,%ecx
5a73fd:	99                   	cltd
5a73fe:	f7 f9                	idiv   %ecx
5a7400:	8b 56 0c             	mov    0xc(%esi),%edx
5a7403:	2b d0                	sub    %eax,%edx
5a7405:	89 55 dc             	mov    %edx,-0x24(%ebp)
5a7408:	eb 34                	jmp    0x5a743e
5a740a:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a740d:	50                   	push   %eax
5a740e:	e8 d5 00 e6 ff       	call   0x4074e8
5a7413:	8b f0                	mov    %eax,%esi
5a7415:	85 db                	test   %ebx,%ebx
5a7417:	74 12                	je     0x5a742b
5a7419:	6a 02                	push   $0x2
5a741b:	56                   	push   %esi
5a741c:	53                   	push   %ebx
5a741d:	53                   	push   %ebx
5a741e:	e8 25 00 e6 ff       	call   0x407448
5a7423:	56                   	push   %esi
5a7424:	e8 e7 00 e6 ff       	call   0x407510
5a7429:	eb 02                	jmp    0x5a742d
5a742b:	8b de                	mov    %esi,%ebx
5a742d:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a7430:	f7 d8                	neg    %eax
5a7432:	50                   	push   %eax
5a7433:	6a 00                	push   $0x0
5a7435:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7438:	50                   	push   %eax
5a7439:	e8 3a 08 e6 ff       	call   0x407c78
5a743e:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
5a7442:	7d c6                	jge    0x5a740a
5a7444:	53                   	push   %ebx
5a7445:	8b c7                	mov    %edi,%eax
5a7447:	e8 74 18 e8 ff       	call   0x428cc0
5a744c:	50                   	push   %eax
5a744d:	e8 a6 02 e6 ff       	call   0x4076f8
5a7452:	53                   	push   %ebx
5a7453:	e8 b8 00 e6 ff       	call   0x407510
5a7458:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a745b:	50                   	push   %eax
5a745c:	33 c9                	xor    %ecx,%ecx
5a745e:	33 d2                	xor    %edx,%edx
5a7460:	8b c7                	mov    %edi,%eax
5a7462:	e8 6d 11 e8 ff       	call   0x4285d4
5a7467:	6a 00                	push   $0x0
5a7469:	8b c7                	mov    %edi,%eax
5a746b:	e8 50 18 e8 ff       	call   0x428cc0
5a7470:	50                   	push   %eax
5a7471:	e8 82 02 e6 ff       	call   0x4076f8
5a7476:	5f                   	pop    %edi
5a7477:	5e                   	pop    %esi
5a7478:	5b                   	pop    %ebx
5a7479:	8b e5                	mov    %ebp,%esp
5a747b:	5d                   	pop    %ebp
5a747c:	c2 0c 00             	ret    $0xc
5a747f:	90                   	nop
5a7480:	55                   	push   %ebp
5a7481:	8b ec                	mov    %esp,%ebp
5a7483:	83 c4 e0             	add    $0xffffffe0,%esp
5a7486:	53                   	push   %ebx
5a7487:	56                   	push   %esi
5a7488:	57                   	push   %edi
5a7489:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5a748c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a748f:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a7492:	50                   	push   %eax
5a7493:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a7496:	50                   	push   %eax
5a7497:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a749a:	50                   	push   %eax
5a749b:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a749e:	50                   	push   %eax
5a749f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5a74a2:	50                   	push   %eax
5a74a3:	8b 45 10             	mov    0x10(%ebp),%eax
5a74a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a74a9:	8b 55 0c             	mov    0xc(%ebp),%edx
5a74ac:	e8 43 b2 ff ff       	call   0x5a26f4
5a74b1:	33 f6                	xor    %esi,%esi
5a74b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a74b6:	99                   	cltd
5a74b7:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74ba:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a74bd:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a74c0:	99                   	cltd
5a74c1:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74c4:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a74c7:	83 7d e4 01          	cmpl   $0x1,-0x1c(%ebp)
5a74cb:	7e 0d                	jle    0x5a74da
5a74cd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a74d0:	d1 f8                	sar    $1,%eax
5a74d2:	79 03                	jns    0x5a74d7
5a74d4:	83 d0 00             	adc    $0x0,%eax
5a74d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a74da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a74dd:	99                   	cltd
5a74de:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5a74e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a74e7:	99                   	cltd
5a74e8:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74eb:	89 45 f0             	mov    %eax,-0x10(%ebp)