a6523f:	8b f1                	mov    %ecx,%esi
a65241:	57                   	push   %edi
a65242:	e8 28 1f 9c ff       	call   0x42716f
a65247:	84 c0                	test   %al,%al
a65249:	74 1e                	je     0xa65269
a6524b:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
a6524f:	72 04                	jb     0xa65255
a65251:	8b 06                	mov    (%esi),%eax
a65253:	eb 02                	jmp    0xa65257
a65255:	8b c6                	mov    %esi,%eax
a65257:	ff 75 0c             	push   0xc(%ebp)
a6525a:	2b f8                	sub    %eax,%edi
a6525c:	8b ce                	mov    %esi,%ecx
a6525e:	d1 ff                	sar    $1,%edi
a65260:	57                   	push   %edi
a65261:	56                   	push   %esi
a65262:	e8 78 91 9b ff       	call   0x41e3df
a65267:	eb 41                	jmp    0xa652aa
a65269:	53                   	push   %ebx
a6526a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
a6526d:	8b ce                	mov    %esi,%ecx
a6526f:	6a 00                	push   $0x0
a65271:	53                   	push   %ebx
a65272:	e8 93 7a 9b ff       	call   0x41cd0a
a65277:	84 c0                	test   %al,%al
a65279:	74 2c                	je     0xa652a7
a6527b:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
a6527f:	72 04                	jb     0xa65285
a65281:	8b 06                	mov    (%esi),%eax
a65283:	eb 02                	jmp    0xa65287
a65285:	8b c6                	mov    %esi,%eax
a65287:	53                   	push   %ebx
a65288:	57                   	push   %edi
a65289:	50                   	push   %eax
a6528a:	e8 37 10 9a ff       	call   0x4062c6
a6528f:	83 c4 0c             	add    $0xc,%esp
a65292:	89 5e 10             	mov    %ebx,0x10(%esi)
a65295:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
a65299:	72 04                	jb     0xa6529f
a6529b:	8b 06                	mov    (%esi),%eax
a6529d:	eb 02                	jmp    0xa652a1
a6529f:	8b c6                	mov    %esi,%eax
a652a1:	33 c9                	xor    %ecx,%ecx
a652a3:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
a652a7:	8b c6                	mov    %esi,%eax
a652a9:	5b                   	pop    %ebx
a652aa:	5f                   	pop    %edi
a652ab:	5e                   	pop    %esi
a652ac:	5d                   	pop    %ebp
a652ad:	c2 08 00             	ret    $0x8
a652b0:	cc                   	int3
a652b1:	cc                   	int3
a652b2:	cc                   	int3
a652b3:	cc                   	int3
a652b4:	cc                   	int3
a652b5:	cc                   	int3
a652b6:	cc                   	int3
a652b7:	cc                   	int3
a652b8:	cc                   	int3
a652b9:	cc                   	int3
a652ba:	cc                   	int3
a652bb:	cc                   	int3
a652bc:	cc                   	int3
a652bd:	cc                   	int3
a652be:	cc                   	int3
a652bf:	cc                   	int3
a652c0:	cc                   	int3
a652c1:	cc                   	int3
a652c2:	cc                   	int3
a652c3:	cc                   	int3
a652c4:	cc                   	int3
a652c5:	cc                   	int3
a652c6:	cc                   	int3
a652c7:	cc                   	int3
a652c8:	cc                   	int3
a652c9:	cc                   	int3
a652ca:	cc                   	int3
a652cb:	cc                   	int3
a652cc:	cc                   	int3
a652cd:	cc                   	int3
a652ce:	55                   	push   %ebp
a652cf:	8b ec                	mov    %esp,%ebp
a652d1:	ff 75 0c             	push   0xc(%ebp)
a652d4:	ff 75 10             	push   0x10(%ebp)
a652d7:	ff 75 08             	push   0x8(%ebp)
a652da:	e8 28 63 9c ff       	call   0x42b607
a652df:	83 c4 0c             	add    $0xc,%esp
a652e2:	5d                   	pop    %ebp
a652e3:	c3                   	ret
a652e4:	cc                   	int3
a652e5:	cc                   	int3
a652e6:	cc                   	int3
a652e7:	cc                   	int3
a652e8:	cc                   	int3
a652e9:	55                   	push   %ebp
a652ea:	8b ec                	mov    %esp,%ebp
a652ec:	8b 45 0c             	mov    0xc(%ebp),%eax
a652ef:	66 8b 08             	mov    (%eax),%cx
a652f2:	8b 45 08             	mov    0x8(%ebp),%eax
a652f5:	66 89 08             	mov    %cx,(%eax)
a652f8:	5d                   	pop    %ebp
a652f9:	c3                   	ret
a652fa:	cc                   	int3
a652fb:	cc                   	int3
a652fc:	cc                   	int3
a652fd:	cc                   	int3
a652fe:	55                   	push   %ebp
a652ff:	8b ec                	mov    %esp,%ebp
a65301:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
a65305:	72 02                	jb     0xa65309
a65307:	8b 09                	mov    (%ecx),%ecx
a65309:	8b 45 08             	mov    0x8(%ebp),%eax
a6530c:	89 08                	mov    %ecx,(%eax)
a6530e:	5d                   	pop    %ebp
a6530f:	c2 04 00             	ret    $0x4
a65312:	cc                   	int3
a65313:	cc                   	int3
a65314:	cc                   	int3
a65315:	cc                   	int3
a65316:	cc                   	int3
a65317:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
a6531b:	72 02                	jb     0xa6531f
a6531d:	8b 09                	mov    (%ecx),%ecx
a6531f:	8b c1                	mov    %ecx,%eax
a65321:	c3                   	ret
a65322:	cc                   	int3
a65323:	cc                   	int3
a65324:	55                   	push   %ebp
a65325:	8b ec                	mov    %esp,%ebp
a65327:	8b 45 10             	mov    0x10(%ebp),%eax
a6532a:	85 c0                	test   %eax,%eax
a6532c:	75 05                	jne    0xa65333
a6532e:	8b 45 08             	mov    0x8(%ebp),%eax
a65331:	5d                   	pop    %ebp
a65332:	c3                   	ret
a65333:	03 c0                	add    %eax,%eax
a65335:	50                   	push   %eax
a65336:	ff 75 0c             	push   0xc(%ebp)
a65339:	ff 75 08             	push   0x8(%ebp)
a6533c:	e8 41 f3 9a ff       	call   0x414682
a65341:	83 c4 0c             	add    $0xc,%esp
a65344:	5d                   	pop    %ebp
a65345:	c3                   	ret
a65346:	cc                   	int3
a65347:	cc                   	int3
a65348:	cc                   	int3
a65349:	cc                   	int3
a6534a:	cc                   	int3
a6534b:	cc                   	int3
a6534c:	cc                   	int3
a6534d:	cc                   	int3
a6534e:	55                   	push   %ebp
a6534f:	8b ec                	mov    %esp,%ebp
a65351:	51                   	push   %ecx
a65352:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a65356:	56                   	push   %esi
a65357:	57                   	push   %edi
a65358:	ff 75 08             	push   0x8(%ebp)
a6535b:	8b f9                	mov    %ecx,%edi
a6535d:	8b 17                	mov    (%edi),%edx
a6535f:	8b 72 18             	mov    0x18(%edx),%esi
a65362:	8b ce                	mov    %esi,%ecx
a65364:	e8 fc 72 9c ff       	call   0x42c665
a65369:	8b cf                	mov    %edi,%ecx
a6536b:	ff d6                	call   *%esi
a6536d:	8b 45 08             	mov    0x8(%ebp),%eax
a65370:	5f                   	pop    %edi
a65371:	5e                   	pop    %esi
a65372:	8b e5                	mov    %ebp,%esp
a65374:	5d                   	pop    %ebp
a65375:	c2 04 00             	ret    $0x4
a65378:	cc                   	int3
a65379:	cc                   	int3
a6537a:	cc                   	int3
a6537b:	cc                   	int3
a6537c:	cc                   	int3
a6537d:	cc                   	int3
a6537e:	cc                   	int3
a6537f:	cc                   	int3
a65380:	cc                   	int3
a65381:	cc                   	int3
a65382:	55                   	push   %ebp
a65383:	8b ec                	mov    %esp,%ebp
a65385:	51                   	push   %ecx
a65386:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a6538a:	56                   	push   %esi
a6538b:	57                   	push   %edi
a6538c:	ff 75 08             	push   0x8(%ebp)
a6538f:	8b f9                	mov    %ecx,%edi
a65391:	8b 17                	mov    (%edi),%edx
a65393:	8b 72 18             	mov    0x18(%edx),%esi
a65396:	8b ce                	mov    %esi,%ecx
a65398:	e8 c8 72 9c ff       	call   0x42c665
a6539d:	8b cf                	mov    %edi,%ecx
a6539f:	ff d6                	call   *%esi
a653a1:	8b 45 08             	mov    0x8(%ebp),%eax
a653a4:	5f                   	pop    %edi
a653a5:	5e                   	pop    %esi
a653a6:	8b e5                	mov    %ebp,%esp
a653a8:	5d                   	pop    %ebp
a653a9:	c2 04 00             	ret    $0x4
a653ac:	cc                   	int3
a653ad:	cc                   	int3
a653ae:	cc                   	int3
a653af:	cc                   	int3
a653b0:	cc                   	int3
a653b1:	cc                   	int3
a653b2:	cc                   	int3
a653b3:	cc                   	int3
a653b4:	cc                   	int3
a653b5:	cc                   	int3
a653b6:	56                   	push   %esi
a653b7:	57                   	push   %edi
a653b8:	8b f9                	mov    %ecx,%edi
a653ba:	8b 07                	mov    (%edi),%eax
a653bc:	8b 70 0c             	mov    0xc(%eax),%esi
a653bf:	8b ce                	mov    %esi,%ecx
a653c1:	e8 9f 72 9c ff       	call   0x42c665
a653c6:	8b cf                	mov    %edi,%ecx
a653c8:	ff d6                	call   *%esi
a653ca:	5f                   	pop    %edi
a653cb:	5e                   	pop    %esi
a653cc:	c3                   	ret
a653cd:	cc                   	int3
a653ce:	cc                   	int3
a653cf:	cc                   	int3
a653d0:	cc                   	int3
a653d1:	cc                   	int3
a653d2:	56                   	push   %esi
a653d3:	57                   	push   %edi
a653d4:	8b f9                	mov    %ecx,%edi
a653d6:	8b 07                	mov    (%edi),%eax
a653d8:	8b 70 0c             	mov    0xc(%eax),%esi
a653db:	8b ce                	mov    %esi,%ecx
a653dd:	e8 83 72 9c ff       	call   0x42c665
a653e2:	8b cf                	mov    %edi,%ecx
a653e4:	ff d6                	call   *%esi
a653e6:	5f                   	pop    %edi
a653e7:	5e                   	pop    %esi
a653e8:	c3                   	ret
a653e9:	cc                   	int3
a653ea:	cc                   	int3
a653eb:	cc                   	int3
a653ec:	cc                   	int3
a653ed:	cc                   	int3
a653ee:	55                   	push   %ebp
a653ef:	8b ec                	mov    %esp,%ebp
a653f1:	6a 02                	push   $0x2
a653f3:	ff 75 0c             	push   0xc(%ebp)
a653f6:	ff 75 08             	push   0x8(%ebp)
a653f9:	e8 58 6e 9b ff       	call   0x41c256
a653fe:	83 c4 0c             	add    $0xc,%esp
a65401:	5d                   	pop    %ebp
a65402:	c2 08 00             	ret    $0x8
a65405:	cc                   	int3
a65406:	cc                   	int3
a65407:	cc                   	int3
a65408:	cc                   	int3
a65409:	cc                   	int3
a6540a:	55                   	push   %ebp
a6540b:	8b ec                	mov    %esp,%ebp
a6540d:	6a 02                	push   $0x2
a6540f:	ff 75 0c             	push   0xc(%ebp)
a65412:	ff 75 08             	push   0x8(%ebp)
a65415:	e8 3c 6e 9b ff       	call   0x41c256
a6541a:	83 c4 0c             	add    $0xc,%esp
a6541d:	5d                   	pop    %ebp
a6541e:	c2 08 00             	ret    $0x8
a65421:	cc                   	int3
a65422:	cc                   	int3
a65423:	cc                   	int3
a65424:	cc                   	int3
a65425:	cc                   	int3
a65426:	56                   	push   %esi
a65427:	57                   	push   %edi
a65428:	8b f9                	mov    %ecx,%edi
a6542a:	8b 07                	mov    (%edi),%eax
a6542c:	8b 70 0c             	mov    0xc(%eax),%esi
a6542f:	8b ce                	mov    %esi,%ecx
a65431:	e8 2f 72 9c ff       	call   0x42c665
a65436:	8b cf                	mov    %edi,%ecx
a65438:	ff d6                	call   *%esi
a6543a:	5f                   	pop    %edi
a6543b:	5e                   	pop    %esi
a6543c:	c3                   	ret
a6543d:	cc                   	int3
a6543e:	cc                   	int3
a6543f:	cc                   	int3
a65440:	cc                   	int3
a65441:	cc                   	int3
a65442:	56                   	push   %esi
a65443:	57                   	push   %edi
a65444:	8b f9                	mov    %ecx,%edi
a65446:	8b 07                	mov    (%edi),%eax
a65448:	8b 70 0c             	mov    0xc(%eax),%esi
a6544b:	8b ce                	mov    %esi,%ecx
a6544d:	e8 13 72 9c ff       	call   0x42c665
a65452:	8b cf                	mov    %edi,%ecx
a65454:	ff d6                	call   *%esi
a65456:	5f                   	pop    %edi
a65457:	5e                   	pop    %esi
a65458:	c3                   	ret
a65459:	cc                   	int3
a6545a:	cc                   	int3
a6545b:	cc                   	int3
a6545c:	cc                   	int3
a6545d:	cc                   	int3
a6545e:	56                   	push   %esi
a6545f:	57                   	push   %edi
a65460:	8b f9                	mov    %ecx,%edi
a65462:	8b 07                	mov    (%edi),%eax
a65464:	8b 70 0c             	mov    0xc(%eax),%esi
a65467:	8b ce                	mov    %esi,%ecx
a65469:	e8 f7 71 9c ff       	call   0x42c665
a6546e:	8b cf                	mov    %edi,%ecx
a65470:	ff d6                	call   *%esi
a65472:	5f                   	pop    %edi
a65473:	5e                   	pop    %esi
a65474:	c3                   	ret
a65475:	cc                   	int3
a65476:	cc                   	int3
a65477:	cc                   	int3
a65478:	cc                   	int3
a65479:	cc                   	int3
a6547a:	32 c0                	xor    %al,%al
a6547c:	c3                   	ret
a6547d:	c2 04 00             	ret    $0x4
a65480:	c2 04 00             	ret    $0x4
a65483:	55                   	push   %ebp
a65484:	8b ec                	mov    %esp,%ebp
a65486:	8d 41 08             	lea    0x8(%ecx),%eax
a65489:	50                   	push   %eax
a6548a:	ff 75 14             	push   0x14(%ebp)
a6548d:	ff 75 10             	push   0x10(%ebp)
a65490:	ff 75 0c             	push   0xc(%ebp)
a65493:	ff 75 08             	push   0x8(%ebp)
a65496:	e8 91 d0 99 ff       	call   0x40252c
a6549b:	8b c8                	mov    %eax,%ecx
a6549d:	83 c4 14             	add    $0x14,%esp
a654a0:	85 c9                	test   %ecx,%ecx
a654a2:	79 05                	jns    0xa654a9
a654a4:	83 c8 ff             	or     $0xffffffff,%eax
a654a7:	eb 07                	jmp    0xa654b0
a654a9:	33 c0                	xor    %eax,%eax
a654ab:	85 c9                	test   %ecx,%ecx
a654ad:	0f 95 c0             	setne  %al
a654b0:	5d                   	pop    %ebp
a654b1:	c2 10 00             	ret    $0x10
a654b4:	cc                   	int3
a654b5:	cc                   	int3