5a7020:	8b c7                	mov    %edi,%eax
5a7022:	e8 ad 15 e8 ff       	call   0x4285d4
5a7027:	6a 00                	push   $0x0
5a7029:	8b c7                	mov    %edi,%eax
5a702b:	e8 90 1c e8 ff       	call   0x428cc0
5a7030:	50                   	push   %eax
5a7031:	e8 c2 06 e6 ff       	call   0x4076f8
5a7036:	5f                   	pop    %edi
5a7037:	5e                   	pop    %esi
5a7038:	5b                   	pop    %ebx
5a7039:	8b e5                	mov    %ebp,%esp
5a703b:	5d                   	pop    %ebp
5a703c:	c2 0c 00             	ret    $0xc
5a703f:	90                   	nop
5a7040:	55                   	push   %ebp
5a7041:	8b ec                	mov    %esp,%ebp
5a7043:	83 c4 d8             	add    $0xffffffd8,%esp
5a7046:	53                   	push   %ebx
5a7047:	56                   	push   %esi
5a7048:	57                   	push   %edi
5a7049:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a704c:	8b f8                	mov    %eax,%edi
5a704e:	8b 75 10             	mov    0x10(%ebp),%esi
5a7051:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a7054:	50                   	push   %eax
5a7055:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a7058:	50                   	push   %eax
5a7059:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a705c:	50                   	push   %eax
5a705d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a7060:	50                   	push   %eax
5a7061:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a7064:	50                   	push   %eax
5a7065:	8b c6                	mov    %esi,%eax
5a7067:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a706a:	8b 55 0c             	mov    0xc(%ebp),%edx
5a706d:	e8 82 b6 ff ff       	call   0x5a26f4
5a7072:	33 db                	xor    %ebx,%ebx
5a7074:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a7077:	99                   	cltd
5a7078:	f7 7d e8             	idivl  -0x18(%ebp)
5a707b:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a707e:	57                   	push   %edi
5a707f:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a7082:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7083:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7084:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7085:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a7086:	5f                   	pop    %edi
5a7087:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a708a:	f7 6d 08             	imull  0x8(%ebp)
5a708d:	b9 64 00 00 00       	mov    $0x64,%ecx
5a7092:	99                   	cltd
5a7093:	f7 f9                	idiv   %ecx
5a7095:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a7098:	eb 32                	jmp    0x5a70cc
5a709a:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a709d:	50                   	push   %eax
5a709e:	e8 45 04 e6 ff       	call   0x4074e8
5a70a3:	8b f0                	mov    %eax,%esi
5a70a5:	85 db                	test   %ebx,%ebx
5a70a7:	74 12                	je     0x5a70bb
5a70a9:	6a 02                	push   $0x2
5a70ab:	56                   	push   %esi
5a70ac:	53                   	push   %ebx
5a70ad:	53                   	push   %ebx
5a70ae:	e8 95 03 e6 ff       	call   0x407448
5a70b3:	56                   	push   %esi
5a70b4:	e8 57 04 e6 ff       	call   0x407510
5a70b9:	eb 02                	jmp    0x5a70bd
5a70bb:	8b de                	mov    %esi,%ebx
5a70bd:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a70c0:	50                   	push   %eax
5a70c1:	6a 00                	push   $0x0
5a70c3:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a70c6:	50                   	push   %eax
5a70c7:	e8 ac 0b e6 ff       	call   0x407c78
5a70cc:	8b 45 dc             	mov    -0x24(%ebp),%eax
5a70cf:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5a70d2:	7c c6                	jl     0x5a709a
5a70d4:	53                   	push   %ebx
5a70d5:	8b c7                	mov    %edi,%eax
5a70d7:	e8 e4 1b e8 ff       	call   0x428cc0
5a70dc:	50                   	push   %eax
5a70dd:	e8 16 06 e6 ff       	call   0x4076f8
5a70e2:	53                   	push   %ebx
5a70e3:	e8 28 04 e6 ff       	call   0x407510
5a70e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a70eb:	50                   	push   %eax
5a70ec:	33 c9                	xor    %ecx,%ecx
5a70ee:	33 d2                	xor    %edx,%edx
5a70f0:	8b c7                	mov    %edi,%eax
5a70f2:	e8 dd 14 e8 ff       	call   0x4285d4
5a70f7:	6a 00                	push   $0x0
5a70f9:	8b c7                	mov    %edi,%eax
5a70fb:	e8 c0 1b e8 ff       	call   0x428cc0
5a7100:	50                   	push   %eax
5a7101:	e8 f2 05 e6 ff       	call   0x4076f8
5a7106:	5f                   	pop    %edi
5a7107:	5e                   	pop    %esi
5a7108:	5b                   	pop    %ebx
5a7109:	8b e5                	mov    %ebp,%esp
5a710b:	5d                   	pop    %ebp
5a710c:	c2 0c 00             	ret    $0xc
5a710f:	90                   	nop
5a7110:	55                   	push   %ebp
5a7111:	8b ec                	mov    %esp,%ebp
5a7113:	83 c4 d8             	add    $0xffffffd8,%esp
5a7116:	53                   	push   %ebx
5a7117:	56                   	push   %esi
5a7118:	57                   	push   %edi
5a7119:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a711c:	8b f8                	mov    %eax,%edi
5a711e:	8b 75 10             	mov    0x10(%ebp),%esi
5a7121:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a7124:	50                   	push   %eax
5a7125:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a7128:	50                   	push   %eax
5a7129:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a712c:	50                   	push   %eax
5a712d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a7130:	50                   	push   %eax
5a7131:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a7134:	50                   	push   %eax
5a7135:	8b c6                	mov    %esi,%eax
5a7137:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a713a:	8b 55 0c             	mov    0xc(%ebp),%edx
5a713d:	e8 b2 b5 ff ff       	call   0x5a26f4
5a7142:	33 db                	xor    %ebx,%ebx
5a7144:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a7147:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a714a:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5a714e:	7d 07                	jge    0x5a7157
5a7150:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
5a7157:	57                   	push   %edi
5a7158:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a715b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a715c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a715d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a715e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a715f:	5f                   	pop    %edi
5a7160:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a7163:	f7 6d 08             	imull  0x8(%ebp)
5a7166:	b9 64 00 00 00       	mov    $0x64,%ecx
5a716b:	99                   	cltd
5a716c:	f7 f9                	idiv   %ecx
5a716e:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a7171:	eb 32                	jmp    0x5a71a5
5a7173:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7176:	50                   	push   %eax
5a7177:	e8 6c 03 e6 ff       	call   0x4074e8
5a717c:	8b f0                	mov    %eax,%esi
5a717e:	85 db                	test   %ebx,%ebx
5a7180:	74 12                	je     0x5a7194
5a7182:	6a 02                	push   $0x2
5a7184:	56                   	push   %esi
5a7185:	53                   	push   %ebx
5a7186:	53                   	push   %ebx
5a7187:	e8 bc 02 e6 ff       	call   0x407448
5a718c:	56                   	push   %esi
5a718d:	e8 7e 03 e6 ff       	call   0x407510
5a7192:	eb 02                	jmp    0x5a7196
5a7194:	8b de                	mov    %esi,%ebx
5a7196:	6a 00                	push   $0x0
5a7198:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a719b:	50                   	push   %eax
5a719c:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a719f:	50                   	push   %eax
5a71a0:	e8 d3 0a e6 ff       	call   0x407c78
5a71a5:	8b 45 d8             	mov    -0x28(%ebp),%eax
5a71a8:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5a71ab:	7c c6                	jl     0x5a7173
5a71ad:	53                   	push   %ebx
5a71ae:	8b c7                	mov    %edi,%eax
5a71b0:	e8 0b 1b e8 ff       	call   0x428cc0
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