406192:	89 55 f4             	mov    %edx,-0xc(%ebp)
406195:	89 7d f8             	mov    %edi,-0x8(%ebp)
406198:	89 7d e0             	mov    %edi,-0x20(%ebp)
40619b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40619e:	89 7d e8             	mov    %edi,-0x18(%ebp)
4061a1:	89 7d d0             	mov    %edi,-0x30(%ebp)
4061a4:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4061a7:	89 7d d8             	mov    %edi,-0x28(%ebp)
4061aa:	89 7d c0             	mov    %edi,-0x40(%ebp)
4061ad:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4061b0:	89 7d c8             	mov    %edi,-0x38(%ebp)
4061b3:	89 7d a0             	mov    %edi,-0x60(%ebp)
4061b6:	89 55 a4             	mov    %edx,-0x5c(%ebp)
4061b9:	89 7d a8             	mov    %edi,-0x58(%ebp)
4061bc:	89 7d 90             	mov    %edi,-0x70(%ebp)
4061bf:	89 55 94             	mov    %edx,-0x6c(%ebp)
4061c2:	89 7d 98             	mov    %edi,-0x68(%ebp)
4061c5:	89 7d 80             	mov    %edi,-0x80(%ebp)
4061c8:	89 55 84             	mov    %edx,-0x7c(%ebp)
4061cb:	89 7d 88             	mov    %edi,-0x78(%ebp)
4061ce:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
4061d4:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
4061da:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
4061e0:	e8 26 00 00 00       	call   0x40620b
4061e5:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
4061eb:	50                   	push   %eax
4061ec:	6a 0b                	push   $0xb
4061ee:	57                   	push   %edi
4061ef:	57                   	push   %edi
4061f0:	56                   	push   %esi
4061f1:	68 58 41 42 00       	push   $0x424158
4061f6:	e8 7d fd ff ff       	call   0x405f78
4061fb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4061fe:	5f                   	pop    %edi
4061ff:	33 cd                	xor    %ebp,%ecx
406201:	5e                   	pop    %esi
406202:	e8 69 b6 01 00       	call   0x421870
406207:	c9                   	leave
406208:	c2 2c 00             	ret    $0x2c
40620b:	8b ff                	mov    %edi,%edi
40620d:	55                   	push   %ebp
40620e:	8b ec                	mov    %esp,%ebp
406210:	8b 11                	mov    (%ecx),%edx
406212:	85 d2                	test   %edx,%edx
406214:	74 13                	je     0x406229
406216:	8b ca                	mov    %edx,%ecx
406218:	56                   	push   %esi
406219:	8d 71 01             	lea    0x1(%ecx),%esi
40621c:	8a 01                	mov    (%ecx),%al
40621e:	41                   	inc    %ecx
40621f:	84 c0                	test   %al,%al
406221:	75 f9                	jne    0x40621c
406223:	2b ce                	sub    %esi,%ecx
406225:	41                   	inc    %ecx
406226:	5e                   	pop    %esi
406227:	eb 08                	jmp    0x406231
406229:	33 c9                	xor    %ecx,%ecx
40622b:	ba 3b 19 40 00       	mov    $0x40193b,%edx
406230:	41                   	inc    %ecx
406231:	8b 45 08             	mov    0x8(%ebp),%eax
406234:	83 60 04 00          	andl   $0x0,0x4(%eax)
406238:	83 60 0c 00          	andl   $0x0,0xc(%eax)
40623c:	89 10                	mov    %edx,(%eax)
40623e:	89 48 08             	mov    %ecx,0x8(%eax)
406241:	5d                   	pop    %ebp
406242:	c2 04 00             	ret    $0x4
406245:	cc                   	int3
406246:	cc                   	int3
406247:	cc                   	int3
406248:	cc                   	int3
406249:	cc                   	int3
40624a:	cc                   	int3
40624b:	cc                   	int3
40624c:	cc                   	int3
40624d:	cc                   	int3
40624e:	cc                   	int3
40624f:	cc                   	int3
406250:	68 d0 2b 42 00       	push   $0x422bd0
406255:	e8 bd ba 01 00       	call   0x421d17
40625a:	59                   	pop    %ecx
40625b:	c3                   	ret
40625c:	cc                   	int3
40625d:	cc                   	int3
40625e:	cc                   	int3
40625f:	cc                   	int3
406260:	68 e0 2b 42 00       	push   $0x422be0
406265:	e8 ad ba 01 00       	call   0x421d17
40626a:	59                   	pop    %ecx
40626b:	c3                   	ret
40626c:	cc                   	int3
40626d:	cc                   	int3
40626e:	cc                   	int3
40626f:	cc                   	int3
406270:	c7 05 bc 4c 42 00 d0 	movl   $0x4077d0,0x424cbc
406277:	77 40 00
40627a:	c7 05 98 4c 42 00 80 	movl   $0x424180,0x424c98
406281:	41 42 00
406284:	c7 05 a8 4c 42 00 d4 	movl   $0x425ed4,0x424ca8
40628b:	5e 42 00
40628e:	c3                   	ret
40628f:	cc                   	int3
406290:	c7 05 dc 4c 42 00 d0 	movl   $0x4069d0,0x424cdc
406297:	69 40 00
40629a:	c7 05 c4 4c 42 00 00 	movl   $0x406a00,0x424cc4
4062a1:	6a 40 00
4062a4:	c7 05 d8 4c 42 00 10 	movl   $0x406a10,0x424cd8
4062ab:	6a 40 00
4062ae:	c7 05 e0 4c 42 00 50 	movl   $0x407850,0x424ce0
4062b5:	78 40 00
4062b8:	c7 05 c0 4c 42 00 90 	movl   $0x407890,0x424cc0
4062bf:	78 40 00
4062c2:	c7 05 b8 4c 42 00 d0 	movl   $0x4078d0,0x424cb8
4062c9:	78 40 00
4062cc:	c3                   	ret
4062cd:	cc                   	int3
4062ce:	cc                   	int3
4062cf:	cc                   	int3
4062d0:	e8 08 41 00 00       	call   0x40a3dd
4062d5:	68 30 2c 42 00       	push   $0x422c30
4062da:	e8 38 ba 01 00       	call   0x421d17
4062df:	59                   	pop    %ecx
4062e0:	c3                   	ret
4062e1:	cc                   	int3
4062e2:	cc                   	int3
4062e3:	cc                   	int3
4062e4:	cc                   	int3
4062e5:	cc                   	int3
4062e6:	cc                   	int3
4062e7:	cc                   	int3
4062e8:	cc                   	int3
4062e9:	cc                   	int3
4062ea:	cc                   	int3
4062eb:	cc                   	int3
4062ec:	cc                   	int3
4062ed:	cc                   	int3
4062ee:	cc                   	int3
4062ef:	cc                   	int3
4062f0:	68 60 2c 42 00       	push   $0x422c60
4062f5:	e8 1d ba 01 00       	call   0x421d17
4062fa:	59                   	pop    %ecx
4062fb:	c3                   	ret
4062fc:	cc                   	int3
4062fd:	cc                   	int3
4062fe:	cc                   	int3
4062ff:	cc                   	int3
406300:	c7 05 7c 4d 42 00 e0 	movl   $0x40a1e0,0x424d7c
406307:	a1 40 00
40630a:	c7 05 84 4d 42 00 10 	movl   $0x409c10,0x424d84
406311:	9c 40 00
406314:	c7 05 e8 4c 42 00 80 	movl   $0x409c80,0x424ce8
40631b:	9c 40 00
40631e:	c7 05 04 4d 42 00 70 	movl   $0x409d70,0x424d04
406325:	9d 40 00
406328:	c7 05 94 4d 42 00 e0 	movl   $0x409de0,0x424d94
40632f:	9d 40 00
406332:	c3                   	ret
406333:	cc                   	int3
406334:	cc                   	int3
406335:	cc                   	int3
406336:	cc                   	int3
406337:	cc                   	int3
406338:	cc                   	int3
406339:	cc                   	int3
40633a:	cc                   	int3
40633b:	cc                   	int3
40633c:	cc                   	int3
40633d:	cc                   	int3
40633e:	cc                   	int3
40633f:	cc                   	int3
406340:	c7 05 f8 4c 42 00 c0 	movl   $0x40a1c0,0x424cf8
406347:	a1 40 00
40634a:	c3                   	ret
40634b:	cc                   	int3
40634c:	cc                   	int3
40634d:	cc                   	int3
40634e:	cc                   	int3
40634f:	cc                   	int3
406350:	68 90 2c 42 00       	push   $0x422c90
406355:	e8 bd b9 01 00       	call   0x421d17
40635a:	59                   	pop    %ecx
40635b:	c3                   	ret
40635c:	cc                   	int3
40635d:	cc                   	int3
40635e:	cc                   	int3
40635f:	cc                   	int3
406360:	68 b0 2c 42 00       	push   $0x422cb0
406365:	e8 ad b9 01 00       	call   0x421d17
40636a:	59                   	pop    %ecx
40636b:	c3                   	ret
40636c:	cc                   	int3
40636d:	cc                   	int3
40636e:	cc                   	int3
40636f:	cc                   	int3
406370:	8b ff                	mov    %edi,%edi
406372:	55                   	push   %ebp
406373:	8b ec                	mov    %esp,%ebp
406375:	56                   	push   %esi
406376:	8b f2                	mov    %edx,%esi
406378:	85 c9                	test   %ecx,%ecx
40637a:	75 14                	jne    0x406390
40637c:	ff 15 c0 63 42 00    	call   *0x4263c0
406382:	6a 16                	push   $0x16
406384:	5e                   	pop    %esi
406385:	89 30                	mov    %esi,(%eax)
406387:	e8 62 c4 01 00       	call   0x4227ee
40638c:	8b c6                	mov    %esi,%eax
40638e:	eb 55                	jmp    0x4063e5
406390:	57                   	push   %edi
406391:	8b 7d 08             	mov    0x8(%ebp),%edi
406394:	85 ff                	test   %edi,%edi
406396:	74 16                	je     0x4063ae
406398:	3b 75 0c             	cmp    0xc(%ebp),%esi
40639b:	72 11                	jb     0x4063ae
40639d:	ff 75 0c             	push   0xc(%ebp)
4063a0:	57                   	push   %edi
4063a1:	51                   	push   %ecx
4063a2:	e8 dc c7 01 00       	call   0x422b83
4063a7:	83 c4 0c             	add    $0xc,%esp
4063aa:	33 c0                	xor    %eax,%eax
4063ac:	eb 36                	jmp    0x4063e4
4063ae:	56                   	push   %esi
4063af:	6a 00                	push   $0x0
4063b1:	51                   	push   %ecx
4063b2:	e8 91 c4 01 00       	call   0x422848
4063b7:	83 c4 0c             	add    $0xc,%esp
4063ba:	85 ff                	test   %edi,%edi
4063bc:	75 0a                	jne    0x4063c8
4063be:	ff 15 c0 63 42 00    	call   *0x4263c0
4063c4:	6a 16                	push   $0x16
4063c6:	eb 0d                	jmp    0x4063d5
4063c8:	3b 75 0c             	cmp    0xc(%ebp),%esi
4063cb:	73 14                	jae    0x4063e1
4063cd:	ff 15 c0 63 42 00    	call   *0x4263c0
4063d3:	6a 22                	push   $0x22
4063d5:	5e                   	pop    %esi
4063d6:	89 30                	mov    %esi,(%eax)
4063d8:	e8 11 c4 01 00       	call   0x4227ee
4063dd:	8b c6                	mov    %esi,%eax
4063df:	eb 03                	jmp    0x4063e4
4063e1:	6a 16                	push   $0x16
4063e3:	58                   	pop    %eax
4063e4:	5f                   	pop    %edi
4063e5:	5e                   	pop    %esi
4063e6:	5d                   	pop    %ebp
4063e7:	c3                   	ret
4063e8:	8b ff                	mov    %edi,%edi
4063ea:	55                   	push   %ebp
4063eb:	8b ec                	mov    %esp,%ebp
4063ed:	56                   	push   %esi
4063ee:	33 f6                	xor    %esi,%esi
4063f0:	85 d2                	test   %edx,%edx
4063f2:	74 08                	je     0x4063fc
4063f4:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4063fa:	76 05                	jbe    0x406401
4063fc:	be 57 00 07 80       	mov    $0x80070057,%esi
406401:	85 f6                	test   %esi,%esi
406403:	78 41                	js     0x406446
406405:	8b f2                	mov    %edx,%esi
406407:	85 d2                	test   %edx,%edx
406409:	74 28                	je     0x406433
40640b:	57                   	push   %edi
40640c:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
406411:	2b fa                	sub    %edx,%edi
406413:	8b 55 08             	mov    0x8(%ebp),%edx
406416:	2b d1                	sub    %ecx,%edx
406418:	8d 04 37             	lea    (%edi,%esi,1),%eax
40641b:	85 c0                	test   %eax,%eax
40641d:	74 0f                	je     0x40642e
40641f:	8a 04 0a             	mov    (%edx,%ecx,1),%al
406422:	84 c0                	test   %al,%al
406424:	74 08                	je     0x40642e
406426:	88 01                	mov    %al,(%ecx)
406428:	41                   	inc    %ecx
406429:	83 ee 01             	sub    $0x1,%esi
40642c:	75 ea                	jne    0x406418
40642e:	5f                   	pop    %edi
40642f:	85 f6                	test   %esi,%esi
406431:	75 01                	jne    0x406434
406433:	49                   	dec    %ecx
406434:	f7 de                	neg    %esi
406436:	1b f6                	sbb    %esi,%esi
406438:	81 e6 86 ff f8 7f    	and    $0x7ff8ff86,%esi
40643e:	81 c6 7a 00 07 80    	add    $0x8007007a,%esi
406444:	eb 04                	jmp    0x40644a
406446:	85 d2                	test   %edx,%edx
406448:	74 03                	je     0x40644d
40644a:	c6 01 00             	movb   $0x0,(%ecx)
40644d:	8b c6                	mov    %esi,%eax
40644f:	5e                   	pop    %esi
406450:	5d                   	pop    %ebp
406451:	c2 04 00             	ret    $0x4
406454:	8b ff                	mov    %edi,%edi
406456:	55                   	push   %ebp
406457:	8b ec                	mov    %esp,%ebp
406459:	33 c0                	xor    %eax,%eax
40645b:	85 d2                	test   %edx,%edx
40645d:	74 08                	je     0x406467
40645f:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
406465:	76 05                	jbe    0x40646c
406467:	b8 57 00 07 80       	mov    $0x80070057,%eax
40646c:	85 c0                	test   %eax,%eax
40646e:	78 0c                	js     0x40647c
406470:	51                   	push   %ecx
406471:	ff 75 08             	push   0x8(%ebp)
406474:	51                   	push   %ecx
406475:	e8 c1 00 00 00       	call   0x40653b
40647a:	eb 09                	jmp    0x406485
40647c:	85 d2                	test   %edx,%edx
40647e:	74 05                	je     0x406485
406480:	33 d2                	xor    %edx,%edx
406482:	66 89 11             	mov    %dx,(%ecx)
406485:	5d                   	pop    %ebp
406486:	c2 04 00             	ret    $0x4
406489:	8b ff                	mov    %edi,%edi
40648b:	55                   	push   %ebp
40648c:	8b ec                	mov    %esp,%ebp
40648e:	53                   	push   %ebx
40648f:	56                   	push   %esi
406490:	57                   	push   %edi
406491:	33 ff                	xor    %edi,%edi
406493:	bb 57 00 07 80       	mov    $0x80070057,%ebx
406498:	8b f7                	mov    %edi,%esi
40649a:	85 d2                	test   %edx,%edx
40649c:	74 08                	je     0x4064a6
40649e:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4064a4:	76 02                	jbe    0x4064a8
4064a6:	8b f3                	mov    %ebx,%esi
4064a8:	85 f6                	test   %esi,%esi
4064aa:	78 42                	js     0x4064ee
4064ac:	8b f2                	mov    %edx,%esi
4064ae:	8b c1                	mov    %ecx,%eax
4064b0:	85 d2                	test   %edx,%edx
4064b2:	74 0d                	je     0x4064c1
4064b4:	66 39 38             	cmp    %di,(%eax)
4064b7:	74 08                	je     0x4064c1
4064b9:	83 c0 02             	add    $0x2,%eax
4064bc:	83 ee 01             	sub    $0x1,%esi
4064bf:	75 f3                	jne    0x4064b4
4064c1:	8b fe                	mov    %esi,%edi
4064c3:	8b c2                	mov    %edx,%eax
4064c5:	f7 de                	neg    %esi
4064c7:	1b f6                	sbb    %esi,%esi
4064c9:	2b c7                	sub    %edi,%eax
4064cb:	81 e6 a9 ff f8 7f    	and    $0x7ff8ffa9,%esi
4064d1:	03 f3                	add    %ebx,%esi
4064d3:	f7 df                	neg    %edi
4064d5:	1b ff                	sbb    %edi,%edi
4064d7:	23 f8                	and    %eax,%edi
4064d9:	85 f6                	test   %esi,%esi
4064db:	78 11                	js     0x4064ee