40556c:	8b 46 04             	mov    0x4(%esi),%eax
40556f:	01 d8                	add    %ebx,%eax
405571:	8b 12                	mov    (%edx),%edx
405573:	b9 01 00 00 00       	mov    $0x1,%ecx
405578:	e8 0b 00 00 00       	call   0x405588
40557d:	83 c6 08             	add    $0x8,%esi
405580:	4f                   	dec    %edi
405581:	7f e7                	jg     0x40556a
405583:	5f                   	pop    %edi
405584:	5e                   	pop    %esi
405585:	5b                   	pop    %ebx
405586:	c3                   	ret
405587:	90                   	nop
405588:	53                   	push   %ebx
405589:	56                   	push   %esi
40558a:	57                   	push   %edi
40558b:	85 c9                	test   %ecx,%ecx
40558d:	0f 84 b0 00 00 00    	je     0x405643
405593:	89 c3                	mov    %eax,%ebx
405595:	89 d6                	mov    %edx,%esi
405597:	89 cf                	mov    %ecx,%edi
405599:	31 d2                	xor    %edx,%edx
40559b:	8a 06                	mov    (%esi),%al
40559d:	8a 56 01             	mov    0x1(%esi),%dl
4055a0:	3c 0a                	cmp    $0xa,%al
4055a2:	74 22                	je     0x4055c6
4055a4:	3c 0b                	cmp    $0xb,%al
4055a6:	74 2d                	je     0x4055d5
4055a8:	3c 0c                	cmp    $0xc,%al
4055aa:	74 38                	je     0x4055e4
4055ac:	3c 0d                	cmp    $0xd,%al
4055ae:	74 43                	je     0x4055f3
4055b0:	3c 0e                	cmp    $0xe,%al
4055b2:	74 5d                	je     0x405611
4055b4:	3c 0f                	cmp    $0xf,%al
4055b6:	74 6f                	je     0x405627
4055b8:	3c 11                	cmp    $0x11,%al
4055ba:	74 7a                	je     0x405636
4055bc:	b0 02                	mov    $0x2,%al
4055be:	5f                   	pop    %edi
4055bf:	5e                   	pop    %esi
4055c0:	5b                   	pop    %ebx
4055c1:	e9 42 d3 ff ff       	jmp    0x402908
4055c6:	8b 03                	mov    (%ebx),%eax
4055c8:	83 c3 04             	add    $0x4,%ebx
4055cb:	e8 38 f7 ff ff       	call   0x404d08
4055d0:	4f                   	dec    %edi
4055d1:	7f f3                	jg     0x4055c6
4055d3:	eb 6e                	jmp    0x405643
4055d5:	89 d8                	mov    %ebx,%eax
4055d7:	83 c3 04             	add    $0x4,%ebx
4055da:	e8 5d fd ff ff       	call   0x40533c
4055df:	4f                   	dec    %edi
4055e0:	7f f3                	jg     0x4055d5
4055e2:	eb 5f                	jmp    0x405643
4055e4:	89 d8                	mov    %ebx,%eax
4055e6:	83 c3 10             	add    $0x10,%ebx
4055e9:	e8 86 04 00 00       	call   0x405a74
4055ee:	4f                   	dec    %edi
4055ef:	7f f3                	jg     0x4055e4
4055f1:	eb 50                	jmp    0x405643
4055f3:	55                   	push   %ebp
4055f4:	89 d5                	mov    %edx,%ebp
4055f6:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
4055fa:	89 d8                	mov    %ebx,%eax
4055fc:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
405600:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
405604:	8b 12                	mov    (%edx),%edx
405606:	e8 7d ff ff ff       	call   0x405588
40560b:	4f                   	dec    %edi
40560c:	7f e8                	jg     0x4055f6
40560e:	5d                   	pop    %ebp
40560f:	eb 32                	jmp    0x405643
405611:	55                   	push   %ebp
405612:	89 d5                	mov    %edx,%ebp
405614:	89 d8                	mov    %ebx,%eax
405616:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
40561a:	89 f2                	mov    %esi,%edx
40561c:	e8 37 ff ff ff       	call   0x405558
405621:	4f                   	dec    %edi
405622:	7f f0                	jg     0x405614
405624:	5d                   	pop    %ebp
405625:	eb 1c                	jmp    0x405643
405627:	8b 03                	mov    (%ebx),%eax
405629:	83 c3 04             	add    $0x4,%ebx
40562c:	e8 73 12 00 00       	call   0x4068a4
405631:	4f                   	dec    %edi
405632:	7f f3                	jg     0x405627
405634:	eb 0d                	jmp    0x405643
405636:	8b 03                	mov    (%ebx),%eax
405638:	83 c3 04             	add    $0x4,%ebx
40563b:	e8 a0 0b 00 00       	call   0x4061e0
405640:	4f                   	dec    %edi
405641:	7f f3                	jg     0x405636
405643:	5f                   	pop    %edi
405644:	5e                   	pop    %esi
405645:	5b                   	pop    %ebx
405646:	c3                   	ret
405647:	90                   	nop
405648:	53                   	push   %ebx
405649:	56                   	push   %esi
40564a:	57                   	push   %edi
40564b:	55                   	push   %ebp
40564c:	89 c3                	mov    %eax,%ebx
40564e:	89 d6                	mov    %edx,%esi
405650:	31 c0                	xor    %eax,%eax
405652:	8a 41 01             	mov    0x1(%ecx),%al
405655:	8d 7c 08 0a          	lea    0xa(%eax,%ecx,1),%edi
405659:	8b 6f fc             	mov    -0x4(%edi),%ebp
40565c:	31 c0                	xor    %eax,%eax
40565e:	8b 4f f8             	mov    -0x8(%edi),%ecx
405661:	51                   	push   %ecx
405662:	8b 4f 04             	mov    0x4(%edi),%ecx
405665:	29 c1                	sub    %eax,%ecx
405667:	7e 0b                	jle    0x405674
405669:	89 c2                	mov    %eax,%edx
40566b:	01 f0                	add    %esi,%eax
40566d:	01 da                	add    %ebx,%edx
40566f:	e8 ac d3 ff ff       	call   0x402a20
405674:	8b 47 04             	mov    0x4(%edi),%eax
405677:	8b 17                	mov    (%edi),%edx
405679:	8b 12                	mov    (%edx),%edx
40567b:	8a 0a                	mov    (%edx),%cl
40567d:	80 f9 0a             	cmp    $0xa,%cl
405680:	74 31                	je     0x4056b3
405682:	80 f9 0b             	cmp    $0xb,%cl
405685:	74 3d                	je     0x4056c4
405687:	80 f9 0c             	cmp    $0xc,%cl
40568a:	74 49                	je     0x4056d5
40568c:	80 f9 0d             	cmp    $0xd,%cl
40568f:	74 55                	je     0x4056e6
405691:	80 f9 0e             	cmp    $0xe,%cl
405694:	74 70                	je     0x405706
405696:	80 f9 0f             	cmp    $0xf,%cl
405699:	0f 84 80 00 00 00    	je     0x40571f
40569f:	80 f9 11             	cmp    $0x11,%cl
4056a2:	0f 84 88 00 00 00    	je     0x405730
4056a8:	b0 02                	mov    $0x2,%al
4056aa:	5d                   	pop    %ebp
4056ab:	5f                   	pop    %edi
4056ac:	5e                   	pop    %esi
4056ad:	5b                   	pop    %ebx
4056ae:	e9 55 d2 ff ff       	jmp    0x402908
4056b3:	8b 14 30             	mov    (%eax,%esi,1),%edx
4056b6:	01 d8                	add    %ebx,%eax
4056b8:	e8 ff f1 ff ff       	call   0x4048bc
4056bd:	b8 04 00 00 00       	mov    $0x4,%eax
4056c2:	eb 7d                	jmp    0x405741
4056c4:	8b 14 30             	mov    (%eax,%esi,1),%edx
4056c7:	01 d8                	add    %ebx,%eax
4056c9:	e8 fa f8 ff ff       	call   0x404fc8
4056ce:	b8 04 00 00 00       	mov    $0x4,%eax
4056d3:	eb 6c                	jmp    0x405741
4056d5:	8d 14 30             	lea    (%eax,%esi,1),%edx
4056d8:	01 d8                	add    %ebx,%eax
4056da:	e8 a1 02 00 00       	call   0x405980
4056df:	b8 10 00 00 00       	mov    $0x10,%eax
4056e4:	eb 5b                	jmp    0x405741
4056e6:	31 c9                	xor    %ecx,%ecx
4056e8:	8a 4a 01             	mov    0x1(%edx),%cl
4056eb:	ff 74 11 02          	push   0x2(%ecx,%edx,1)
4056ef:	ff 74 11 06          	push   0x6(%ecx,%edx,1)
4056f3:	8b 4c 11 0a          	mov    0xa(%ecx,%edx,1),%ecx
4056f7:	8b 09                	mov    (%ecx),%ecx
4056f9:	8d 14 30             	lea    (%eax,%esi,1),%edx
4056fc:	01 d8                	add    %ebx,%eax
4056fe:	e8 61 00 00 00       	call   0x405764
405703:	58                   	pop    %eax
405704:	eb 3b                	jmp    0x405741
405706:	31 c9                	xor    %ecx,%ecx
405708:	8a 4a 01             	mov    0x1(%edx),%cl
40570b:	8b 4c 11 02          	mov    0x2(%ecx,%edx,1),%ecx
40570f:	51                   	push   %ecx
405710:	89 d1                	mov    %edx,%ecx
405712:	8d 14 30             	lea    (%eax,%esi,1),%edx
405715:	01 d8                	add    %ebx,%eax
405717:	e8 2c ff ff ff       	call   0x405648
40571c:	58                   	pop    %eax
40571d:	eb 22                	jmp    0x405741
40571f:	8b 14 30             	mov    (%eax,%esi,1),%edx
405722:	01 d8                	add    %ebx,%eax
405724:	e8 23 11 00 00       	call   0x40684c
405729:	b8 04 00 00 00       	mov    $0x4,%eax
40572e:	eb 11                	jmp    0x405741
405730:	89 d1                	mov    %edx,%ecx
405732:	8b 14 30             	mov    (%eax,%esi,1),%edx
405735:	01 d8                	add    %ebx,%eax
405737:	e8 7c 0a 00 00       	call   0x4061b8
40573c:	b8 04 00 00 00       	mov    $0x4,%eax
405741:	03 47 04             	add    0x4(%edi),%eax
405744:	83 c7 08             	add    $0x8,%edi
405747:	4d                   	dec    %ebp
405748:	0f 85 14 ff ff ff    	jne    0x405662
40574e:	59                   	pop    %ecx
40574f:	29 c1                	sub    %eax,%ecx
405751:	7e 0a                	jle    0x40575d
405753:	8d 14 18             	lea    (%eax,%ebx,1),%edx
405756:	01 f0                	add    %esi,%eax
405758:	e8 c3 d2 ff ff       	call   0x402a20
40575d:	5d                   	pop    %ebp
40575e:	5f                   	pop    %edi
40575f:	5e                   	pop    %esi
405760:	5b                   	pop    %ebx
405761:	c3                   	ret
405762:	8b c0                	mov    %eax,%eax
405764:	53                   	push   %ebx
405765:	56                   	push   %esi
405766:	57                   	push   %edi
405767:	55                   	push   %ebp
405768:	89 c3                	mov    %eax,%ebx
40576a:	89 d6                	mov    %edx,%esi
40576c:	89 cf                	mov    %ecx,%edi
40576e:	8b 6c 24 14          	mov    0x14(%esp),%ebp
405772:	8a 0f                	mov    (%edi),%cl
405774:	80 f9 0a             	cmp    $0xa,%cl
405777:	74 31                	je     0x4057aa
405779:	80 f9 0b             	cmp    $0xb,%cl
40577c:	74 43                	je     0x4057c1
40577e:	80 f9 0c             	cmp    $0xc,%cl
405781:	74 52                	je     0x4057d5
405783:	80 f9 0d             	cmp    $0xd,%cl
405786:	74 61                	je     0x4057e9
405788:	80 f9 0e             	cmp    $0xe,%cl
40578b:	74 7d                	je     0x40580a
40578d:	80 f9 0f             	cmp    $0xf,%cl
405790:	0f 84 91 00 00 00    	je     0x405827
405796:	80 f9 11             	cmp    $0x11,%cl
405799:	0f 84 9c 00 00 00    	je     0x40583b
40579f:	b0 02                	mov    $0x2,%al
4057a1:	5d                   	pop    %ebp
4057a2:	5f                   	pop    %edi
4057a3:	5e                   	pop    %esi
4057a4:	5b                   	pop    %ebx
4057a5:	e9 5e d1 ff ff       	jmp    0x402908
4057aa:	89 d8                	mov    %ebx,%eax
4057ac:	8b 16                	mov    (%esi),%edx
4057ae:	e8 09 f1 ff ff       	call   0x4048bc
4057b3:	83 c3 04             	add    $0x4,%ebx
4057b6:	83 c6 04             	add    $0x4,%esi
4057b9:	4d                   	dec    %ebp
4057ba:	75 ee                	jne    0x4057aa
4057bc:	e9 8e 00 00 00       	jmp    0x40584f
4057c1:	89 d8                	mov    %ebx,%eax
4057c3:	8b 16                	mov    (%esi),%edx
4057c5:	e8 fe f7 ff ff       	call   0x404fc8
4057ca:	83 c3 04             	add    $0x4,%ebx
4057cd:	83 c6 04             	add    $0x4,%esi
4057d0:	4d                   	dec    %ebp
4057d1:	75 ee                	jne    0x4057c1
4057d3:	eb 7a                	jmp    0x40584f
4057d5:	89 d8                	mov    %ebx,%eax
4057d7:	89 f2                	mov    %esi,%edx
4057d9:	e8 a2 01 00 00       	call   0x405980
4057de:	83 c3 10             	add    $0x10,%ebx
4057e1:	83 c6 10             	add    $0x10,%esi
4057e4:	4d                   	dec    %ebp
4057e5:	75 ee                	jne    0x4057d5
4057e7:	eb 66                	jmp    0x40584f
4057e9:	31 c9                	xor    %ecx,%ecx
4057eb:	8a 4f 01             	mov    0x1(%edi),%cl
4057ee:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
4057f2:	89 d8                	mov    %ebx,%eax
4057f4:	89 f2                	mov    %esi,%edx
4057f6:	8b 4f 08             	mov    0x8(%edi),%ecx
4057f9:	ff 77 04             	push   0x4(%edi)
4057fc:	e8 63 ff ff ff       	call   0x405764
405801:	03 1f                	add    (%edi),%ebx
405803:	03 37                	add    (%edi),%esi
405805:	4d                   	dec    %ebp
405806:	75 ea                	jne    0x4057f2
405808:	eb 45                	jmp    0x40584f
40580a:	89 d8                	mov    %ebx,%eax
40580c:	89 f2                	mov    %esi,%edx
40580e:	89 f9                	mov    %edi,%ecx
405810:	e8 33 fe ff ff       	call   0x405648
405815:	31 c0                	xor    %eax,%eax
405817:	8a 47 01             	mov    0x1(%edi),%al
40581a:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
40581e:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
405822:	4d                   	dec    %ebp
405823:	75 e5                	jne    0x40580a
405825:	eb 28                	jmp    0x40584f
405827:	89 d8                	mov    %ebx,%eax
405829:	8b 16                	mov    (%esi),%edx
40582b:	e8 1c 10 00 00       	call   0x40684c
405830:	83 c3 04             	add    $0x4,%ebx
405833:	83 c6 04             	add    $0x4,%esi
405836:	4d                   	dec    %ebp
405837:	75 ee                	jne    0x405827
405839:	eb 14                	jmp    0x40584f
40583b:	89 d8                	mov    %ebx,%eax
40583d:	8b 16                	mov    (%esi),%edx
40583f:	89 f9                	mov    %edi,%ecx
405841:	e8 72 09 00 00       	call   0x4061b8
405846:	83 c3 04             	add    $0x4,%ebx
405849:	83 c6 04             	add    $0x4,%esi
40584c:	4d                   	dec    %ebp
40584d:	75 ec                	jne    0x40583b
40584f:	5d                   	pop    %ebp
405850:	5f                   	pop    %edi
405851:	5e                   	pop    %esi
405852:	5b                   	pop    %ebx
405853:	c2 04 00             	ret    $0x4
405856:	c3                   	ret
405857:	90                   	nop
405858:	52                   	push   %edx
405859:	e8 4e cf ff ff       	call   0x4027ac
40585e:	5a                   	pop    %edx
40585f:	85 c0                	test   %eax,%eax
405861:	74 07                	je     0x40586a
405863:	50                   	push   %eax
405864:	e8 b7 fb ff ff       	call   0x405420
405869:	58                   	pop    %eax
40586a:	c3                   	ret
40586b:	90                   	nop
40586c:	50                   	push   %eax
40586d:	e8 da fc ff ff       	call   0x40554c
405872:	58                   	pop    %eax
405873:	e8 54 cf ff ff       	call   0x4027cc
405878:	c3                   	ret
405879:	8d 40 00             	lea    0x0(%eax),%eax
40587c:	e8 03 00 00 00       	call   0x405884
405881:	c3                   	ret
405882:	8b c0                	mov    %eax,%eax
405884:	92                   	xchg   %eax,%edx
405885:	e8 fe f1 ff ff       	call   0x404a88
40588a:	c3                   	ret
40588b:	90                   	nop
40588c:	91                   	xchg   %eax,%ecx
40588d:	87 ca                	xchg   %ecx,%edx
40588f:	e8 28 f1 ff ff       	call   0x4049bc
405894:	c3                   	ret
405895:	8d 40 00             	lea    0x0(%eax),%eax
405898:	53                   	push   %ebx
405899:	56                   	push   %esi
40589a:	57                   	push   %edi
40589b:	8b f9                	mov    %ecx,%edi
40589d:	8b da                	mov    %edx,%ebx
40589f:	8b f0                	mov    %eax,%esi
4058a1:	8b c6                	mov    %esi,%eax
4058a3:	e8 78 f2 ff ff       	call   0x404b20
4058a8:	50                   	push   %eax
4058a9:	8b c6                	mov    %esi,%eax
4058ab:	e8 68 f4 ff ff       	call   0x404d18
4058b0:	8b c8                	mov    %eax,%ecx
4058b2:	8b d7                	mov    %edi,%edx
4058b4:	4a                   	dec    %edx
4058b5:	8b c3                	mov    %ebx,%eax
4058b7:	e8 e8 f0 ff ff       	call   0x4049a4
4058bc:	66 c7 04 43 00 00    	movw   $0x0,(%ebx,%eax,2)