405256:	74 15                	je     0x40526d
405258:	8b 4e 04             	mov    0x4(%esi),%ecx
40525b:	8b 5f 04             	mov    0x4(%edi),%ebx
40525e:	39 d9                	cmp    %ebx,%ecx
405260:	75 34                	jne    0x405296
405262:	83 c6 08             	add    $0x8,%esi
405265:	83 c7 08             	add    $0x8,%edi
405268:	4a                   	dec    %edx
405269:	75 e2                	jne    0x40524d
40526b:	eb 06                	jmp    0x405273
40526d:	83 c6 04             	add    $0x4,%esi
405270:	83 c7 04             	add    $0x4,%edi
405273:	5a                   	pop    %edx
405274:	83 e2 02             	and    $0x2,%edx
405277:	74 0b                	je     0x405284
405279:	66 8b 0e             	mov    (%esi),%cx
40527c:	66 8b 1f             	mov    (%edi),%bx
40527f:	66 39 d9             	cmp    %bx,%cx
405282:	75 21                	jne    0x4052a5
405284:	01 c0                	add    %eax,%eax
405286:	eb 1d                	jmp    0x4052a5
405288:	8b 57 fc             	mov    -0x4(%edi),%edx
40528b:	29 d0                	sub    %edx,%eax
40528d:	eb 16                	jmp    0x4052a5
40528f:	8b 46 fc             	mov    -0x4(%esi),%eax
405292:	29 d0                	sub    %edx,%eax
405294:	eb 0f                	jmp    0x4052a5
405296:	5a                   	pop    %edx
405297:	66 39 d9             	cmp    %bx,%cx
40529a:	75 09                	jne    0x4052a5
40529c:	c1 e9 10             	shr    $0x10,%ecx
40529f:	c1 eb 10             	shr    $0x10,%ebx
4052a2:	66 39 d9             	cmp    %bx,%cx
4052a5:	5f                   	pop    %edi
4052a6:	5e                   	pop    %esi
4052a7:	5b                   	pop    %ebx
4052a8:	c3                   	ret
4052a9:	8d 40 00             	lea    0x0(%eax),%eax
4052ac:	55                   	push   %ebp
4052ad:	8b ec                	mov    %esp,%ebp
4052af:	53                   	push   %ebx
4052b0:	56                   	push   %esi
4052b1:	57                   	push   %edi
4052b2:	8b f9                	mov    %ecx,%edi
4052b4:	8b da                	mov    %edx,%ebx
4052b6:	8b f0                	mov    %eax,%esi
4052b8:	8b c6                	mov    %esi,%eax
4052ba:	e8 51 fe ff ff       	call   0x405110
4052bf:	83 fb 01             	cmp    $0x1,%ebx
4052c2:	7d 04                	jge    0x4052c8
4052c4:	33 db                	xor    %ebx,%ebx
4052c6:	eb 07                	jmp    0x4052cf
4052c8:	4b                   	dec    %ebx
4052c9:	3b c3                	cmp    %ebx,%eax
4052cb:	7d 02                	jge    0x4052cf
4052cd:	8b d8                	mov    %eax,%ebx
4052cf:	85 ff                	test   %edi,%edi
4052d1:	7d 04                	jge    0x4052d7
4052d3:	33 c0                	xor    %eax,%eax
4052d5:	eb 08                	jmp    0x4052df
4052d7:	2b c3                	sub    %ebx,%eax
4052d9:	3b f8                	cmp    %eax,%edi
4052db:	7d 02                	jge    0x4052df
4052dd:	8b c7                	mov    %edi,%eax
4052df:	8b d3                	mov    %ebx,%edx
4052e1:	03 d2                	add    %edx,%edx
4052e3:	03 d6                	add    %esi,%edx
4052e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4052e8:	91                   	xchg   %eax,%ecx
4052e9:	e8 92 fd ff ff       	call   0x405080
4052ee:	5f                   	pop    %edi
4052ef:	5e                   	pop    %esi
4052f0:	5b                   	pop    %ebx
4052f1:	5d                   	pop    %ebp
4052f2:	c2 04 00             	ret    $0x4
4052f5:	8d 40 00             	lea    0x0(%eax),%eax
4052f8:	53                   	push   %ebx
4052f9:	56                   	push   %esi
4052fa:	57                   	push   %edi
4052fb:	8b f2                	mov    %edx,%esi
4052fd:	8b f8                	mov    %eax,%edi
4052ff:	33 db                	xor    %ebx,%ebx
405301:	85 f6                	test   %esi,%esi
405303:	7e 27                	jle    0x40532c
405305:	8b c6                	mov    %esi,%eax
405307:	e8 58 fc ff ff       	call   0x404f64
40530c:	8b d8                	mov    %eax,%ebx
40530e:	8b 07                	mov    (%edi),%eax
405310:	e8 fb fd ff ff       	call   0x405110
405315:	85 c0                	test   %eax,%eax
405317:	7e 13                	jle    0x40532c
405319:	3b f0                	cmp    %eax,%esi
40531b:	7d 02                	jge    0x40531f
40531d:	8b c6                	mov    %esi,%eax
40531f:	8b c8                	mov    %eax,%ecx
405321:	03 c9                	add    %ecx,%ecx
405323:	8b d3                	mov    %ebx,%edx
405325:	8b 07                	mov    (%edi),%eax
405327:	e8 f4 d6 ff ff       	call   0x402a20
40532c:	8b c7                	mov    %edi,%eax
40532e:	8b d3                	mov    %ebx,%edx
405330:	e8 47 fc ff ff       	call   0x404f7c
405335:	5f                   	pop    %edi
405336:	5e                   	pop    %esi
405337:	5b                   	pop    %ebx
405338:	c3                   	ret
405339:	8d 40 00             	lea    0x0(%eax),%eax
40533c:	8b 10                	mov    (%eax),%edx
40533e:	85 d2                	test   %edx,%edx
405340:	74 18                	je     0x40535a
405342:	50                   	push   %eax
405343:	8b 4a fc             	mov    -0x4(%edx),%ecx
405346:	d1 e9                	shr    $1,%ecx
405348:	51                   	push   %ecx
405349:	52                   	push   %edx
40534a:	e8 89 c0 ff ff       	call   0x4013d8
40534f:	5a                   	pop    %edx
405350:	85 c0                	test   %eax,%eax
405352:	0f 84 04 fc ff ff    	je     0x404f5c
405358:	89 02                	mov    %eax,(%edx)
40535a:	c3                   	ret
40535b:	90                   	nop
40535c:	31 c9                	xor    %ecx,%ecx
40535e:	53                   	push   %ebx
40535f:	8a 4a 01             	mov    0x1(%edx),%cl
405362:	56                   	push   %esi
405363:	57                   	push   %edi
405364:	89 c3                	mov    %eax,%ebx
405366:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
40536a:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
40536e:	8b 16                	mov    (%esi),%edx
405370:	8b 46 04             	mov    0x4(%esi),%eax
405373:	01 d8                	add    %ebx,%eax
405375:	8b 12                	mov    (%edx),%edx
405377:	b9 01 00 00 00       	mov    $0x1,%ecx
40537c:	e8 0b 00 00 00       	call   0x40538c
405381:	83 c6 08             	add    $0x8,%esi
405384:	4f                   	dec    %edi
405385:	7f e7                	jg     0x40536e
405387:	5f                   	pop    %edi
405388:	5e                   	pop    %esi
405389:	5b                   	pop    %ebx
40538a:	c3                   	ret
40538b:	90                   	nop
40538c:	85 c9                	test   %ecx,%ecx
40538e:	0f 84 8a 00 00 00    	je     0x40541e
405394:	53                   	push   %ebx
405395:	56                   	push   %esi
405396:	57                   	push   %edi
405397:	89 c3                	mov    %eax,%ebx
405399:	89 d6                	mov    %edx,%esi
40539b:	89 cf                	mov    %ecx,%edi
40539d:	31 d2                	xor    %edx,%edx
40539f:	8a 06                	mov    (%esi),%al
4053a1:	8a 56 01             	mov    0x1(%esi),%dl
4053a4:	31 c9                	xor    %ecx,%ecx
4053a6:	3c 0a                	cmp    $0xa,%al
4053a8:	74 22                	je     0x4053cc
4053aa:	3c 0b                	cmp    $0xb,%al
4053ac:	74 1e                	je     0x4053cc
4053ae:	3c 0c                	cmp    $0xc,%al
4053b0:	74 24                	je     0x4053d6
4053b2:	3c 0d                	cmp    $0xd,%al
4053b4:	74 33                	je     0x4053e9
4053b6:	3c 0e                	cmp    $0xe,%al
4053b8:	74 4d                	je     0x405407
4053ba:	3c 0f                	cmp    $0xf,%al
4053bc:	74 0e                	je     0x4053cc
4053be:	3c 11                	cmp    $0x11,%al
4053c0:	74 0a                	je     0x4053cc
4053c2:	b0 02                	mov    $0x2,%al
4053c4:	5f                   	pop    %edi
4053c5:	5e                   	pop    %esi
4053c6:	5b                   	pop    %ebx
4053c7:	e9 3c d5 ff ff       	jmp    0x402908
4053cc:	89 0b                	mov    %ecx,(%ebx)
4053ce:	83 c3 04             	add    $0x4,%ebx
4053d1:	4f                   	dec    %edi
4053d2:	7f f8                	jg     0x4053cc
4053d4:	eb 45                	jmp    0x40541b
4053d6:	89 0b                	mov    %ecx,(%ebx)
4053d8:	89 4b 04             	mov    %ecx,0x4(%ebx)
4053db:	89 4b 08             	mov    %ecx,0x8(%ebx)
4053de:	89 4b 0c             	mov    %ecx,0xc(%ebx)
4053e1:	83 c3 10             	add    $0x10,%ebx
4053e4:	4f                   	dec    %edi
4053e5:	7f ef                	jg     0x4053d6
4053e7:	eb 32                	jmp    0x40541b
4053e9:	55                   	push   %ebp
4053ea:	89 d5                	mov    %edx,%ebp
4053ec:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
4053f0:	89 d8                	mov    %ebx,%eax
4053f2:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
4053f6:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
4053fa:	8b 12                	mov    (%edx),%edx
4053fc:	e8 8b ff ff ff       	call   0x40538c
405401:	4f                   	dec    %edi
405402:	7f e8                	jg     0x4053ec
405404:	5d                   	pop    %ebp
405405:	eb 14                	jmp    0x40541b
405407:	55                   	push   %ebp
405408:	89 d5                	mov    %edx,%ebp
40540a:	89 d8                	mov    %ebx,%eax
40540c:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
405410:	89 f2                	mov    %esi,%edx
405412:	e8 45 ff ff ff       	call   0x40535c
405417:	4f                   	dec    %edi
405418:	7f f0                	jg     0x40540a
40541a:	5d                   	pop    %ebp
40541b:	5f                   	pop    %edi
40541c:	5e                   	pop    %esi
40541d:	5b                   	pop    %ebx
40541e:	c3                   	ret
40541f:	90                   	nop
405420:	b9 01 00 00 00       	mov    $0x1,%ecx
405425:	e9 62 ff ff ff       	jmp    0x40538c
40542a:	c3                   	ret
40542b:	90                   	nop
40542c:	31 c9                	xor    %ecx,%ecx
40542e:	53                   	push   %ebx
40542f:	8a 4a 01             	mov    0x1(%edx),%cl
405432:	56                   	push   %esi
405433:	57                   	push   %edi
405434:	89 c3                	mov    %eax,%ebx
405436:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
40543a:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
40543e:	8b 16                	mov    (%esi),%edx
405440:	8b 46 04             	mov    0x4(%esi),%eax
405443:	01 d8                	add    %ebx,%eax
405445:	8b 12                	mov    (%edx),%edx
405447:	b9 01 00 00 00       	mov    $0x1,%ecx
40544c:	e8 0f 00 00 00       	call   0x405460
405451:	83 c6 08             	add    $0x8,%esi
405454:	4f                   	dec    %edi
405455:	7f e7                	jg     0x40543e
405457:	89 d8                	mov    %ebx,%eax
405459:	5f                   	pop    %edi
40545a:	5e                   	pop    %esi
40545b:	5b                   	pop    %ebx
40545c:	c3                   	ret
40545d:	8d 40 00             	lea    0x0(%eax),%eax
405460:	83 f9 00             	cmp    $0x0,%ecx
405463:	0f 84 e0 00 00 00    	je     0x405549
405469:	50                   	push   %eax
40546a:	53                   	push   %ebx
40546b:	56                   	push   %esi
40546c:	57                   	push   %edi
40546d:	89 c3                	mov    %eax,%ebx
40546f:	89 d6                	mov    %edx,%esi
405471:	89 cf                	mov    %ecx,%edi
405473:	31 d2                	xor    %edx,%edx
405475:	8a 06                	mov    (%esi),%al
405477:	8a 56 01             	mov    0x1(%esi),%dl
40547a:	3c 0a                	cmp    $0xa,%al
40547c:	74 25                	je     0x4054a3
40547e:	3c 0b                	cmp    $0xb,%al
405480:	74 3e                	je     0x4054c0
405482:	3c 0c                	cmp    $0xc,%al
405484:	74 51                	je     0x4054d7
405486:	3c 0d                	cmp    $0xd,%al
405488:	74 5c                	je     0x4054e6
40548a:	3c 0e                	cmp    $0xe,%al
40548c:	74 76                	je     0x405504
40548e:	3c 0f                	cmp    $0xf,%al
405490:	0f 84 84 00 00 00    	je     0x40551a
405496:	3c 11                	cmp    $0x11,%al
405498:	0f 84 8b 00 00 00    	je     0x405529
40549e:	e9 97 00 00 00       	jmp    0x40553a
4054a3:	83 f9 01             	cmp    $0x1,%ecx
4054a6:	89 d8                	mov    %ebx,%eax
4054a8:	7f 0a                	jg     0x4054b4
4054aa:	e8 b9 f3 ff ff       	call   0x404868
4054af:	e9 91 00 00 00       	jmp    0x405545
4054b4:	89 ca                	mov    %ecx,%edx
4054b6:	e8 d1 f3 ff ff       	call   0x40488c
4054bb:	e9 85 00 00 00       	jmp    0x405545
4054c0:	83 f9 01             	cmp    $0x1,%ecx
4054c3:	89 d8                	mov    %ebx,%eax
4054c5:	7f 07                	jg     0x4054ce
4054c7:	e8 c0 fa ff ff       	call   0x404f8c
4054cc:	eb 77                	jmp    0x405545
4054ce:	89 ca                	mov    %ecx,%edx
4054d0:	e8 cf fa ff ff       	call   0x404fa4
4054d5:	eb 6e                	jmp    0x405545
4054d7:	89 d8                	mov    %ebx,%eax
4054d9:	83 c3 10             	add    $0x10,%ebx
4054dc:	e8 8b 05 00 00       	call   0x405a6c
4054e1:	4f                   	dec    %edi
4054e2:	7f f3                	jg     0x4054d7
4054e4:	eb 5f                	jmp    0x405545
4054e6:	55                   	push   %ebp
4054e7:	89 d5                	mov    %edx,%ebp
4054e9:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
4054ed:	89 d8                	mov    %ebx,%eax
4054ef:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
4054f3:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
4054f7:	8b 12                	mov    (%edx),%edx
4054f9:	e8 62 ff ff ff       	call   0x405460
4054fe:	4f                   	dec    %edi
4054ff:	7f e8                	jg     0x4054e9
405501:	5d                   	pop    %ebp
405502:	eb 41                	jmp    0x405545
405504:	55                   	push   %ebp
405505:	89 d5                	mov    %edx,%ebp
405507:	89 d8                	mov    %ebx,%eax
405509:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
40550d:	89 f2                	mov    %esi,%edx
40550f:	e8 18 ff ff ff       	call   0x40542c
405514:	4f                   	dec    %edi
405515:	7f f0                	jg     0x405507
405517:	5d                   	pop    %ebp
405518:	eb 2b                	jmp    0x405545
40551a:	89 d8                	mov    %ebx,%eax
40551c:	83 c3 04             	add    $0x4,%ebx
40551f:	e8 10 13 00 00       	call   0x406834
405524:	4f                   	dec    %edi
405525:	7f f3                	jg     0x40551a
405527:	eb 1c                	jmp    0x405545
405529:	89 d8                	mov    %ebx,%eax
40552b:	89 f2                	mov    %esi,%edx
40552d:	83 c3 04             	add    $0x4,%ebx
405530:	e8 47 0c 00 00       	call   0x40617c
405535:	4f                   	dec    %edi
405536:	7f f1                	jg     0x405529
405538:	eb 0b                	jmp    0x405545
40553a:	5f                   	pop    %edi
40553b:	5e                   	pop    %esi
40553c:	5b                   	pop    %ebx
40553d:	58                   	pop    %eax
40553e:	b0 02                	mov    $0x2,%al
405540:	e9 c3 d3 ff ff       	jmp    0x402908
405545:	5f                   	pop    %edi
405546:	5e                   	pop    %esi
405547:	5b                   	pop    %ebx
405548:	58                   	pop    %eax
405549:	c3                   	ret
40554a:	8b c0                	mov    %eax,%eax
40554c:	b9 01 00 00 00       	mov    $0x1,%ecx
405551:	e9 0a ff ff ff       	jmp    0x405460
405556:	c3                   	ret
405557:	90                   	nop
405558:	31 c9                	xor    %ecx,%ecx
40555a:	53                   	push   %ebx
40555b:	8a 4a 01             	mov    0x1(%edx),%cl
40555e:	56                   	push   %esi
40555f:	57                   	push   %edi
405560:	89 c3                	mov    %eax,%ebx
405562:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
405566:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
40556a:	8b 16                	mov    (%esi),%edx