4145cc:	8b 8f cc 4a 00 00    	mov    0x4acc(%edi),%ecx
4145d2:	83 e9 10             	sub    $0x10,%ecx
4145d5:	3b c1                	cmp    %ecx,%eax
4145d7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4145da:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4145dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4145e0:	7c 03                	jl     0x4145e5
4145e2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4145e5:	53                   	push   %ebx
4145e6:	8b 06                	mov    (%esi),%eax
4145e8:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4145eb:	7c 35                	jl     0x414622
4145ed:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4145f0:	0f 8f 31 05 00 00    	jg     0x414b27
4145f6:	75 0c                	jne    0x414604
4145f8:	8b 4f 08             	mov    0x8(%edi),%ecx
4145fb:	3b 4f 1c             	cmp    0x1c(%edi),%ecx
4145fe:	0f 8d 23 05 00 00    	jge    0x414b27
414604:	3b 45 f0             	cmp    -0x10(%ebp),%eax
414607:	7c 0d                	jl     0x414616
414609:	80 bf d2 4a 00 00 00 	cmpb   $0x0,0x4ad2(%edi)
414610:	0f 84 0a 05 00 00    	je     0x414b20
414616:	3b 87 cc 4a 00 00    	cmp    0x4acc(%edi),%eax
41461c:	0f 8d fe 04 00 00    	jge    0x414b20
414622:	8d 8f dc 4a 00 00    	lea    0x4adc(%edi),%ecx
414628:	8b 01                	mov    (%ecx),%eax
41462a:	8d 50 f8             	lea    -0x8(%eax),%edx
41462d:	39 97 d8 4a 00 00    	cmp    %edx,0x4ad8(%edi)
414633:	76 27                	jbe    0x41465c
414635:	03 c0                	add    %eax,%eax
414637:	89 01                	mov    %eax,(%ecx)
414639:	6b c0 0c             	imul   $0xc,%eax,%eax
41463c:	50                   	push   %eax
41463d:	8d 9f d4 4a 00 00    	lea    0x4ad4(%edi),%ebx
414643:	ff 33                	push   (%ebx)
414645:	e8 26 59 00 00       	call   0x419f70
41464a:	59                   	pop    %ecx
41464b:	59                   	pop    %ecx
41464c:	89 03                	mov    %eax,(%ebx)
41464e:	85 c0                	test   %eax,%eax
414650:	75 0a                	jne    0x41465c
414652:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
414657:	e8 ac 1e ff ff       	call   0x406508
41465c:	8b 87 d8 4a 00 00    	mov    0x4ad8(%edi),%eax
414662:	8b d8                	mov    %eax,%ebx
414664:	6b db 0c             	imul   $0xc,%ebx,%ebx
414667:	03 9f d4 4a 00 00    	add    0x4ad4(%edi),%ebx
41466d:	40                   	inc    %eax
41466e:	8b ce                	mov    %esi,%ecx
414670:	89 5d e8             	mov    %ebx,-0x18(%ebp)
414673:	89 87 d8 4a 00 00    	mov    %eax,0x4ad8(%edi)
414679:	e8 8c 50 ff ff       	call   0x40970a
41467e:	8b 97 b4 00 00 00    	mov    0xb4(%edi),%edx
414684:	25 fe ff 00 00       	and    $0xfffe,%eax
414689:	3b 44 97 34          	cmp    0x34(%edi,%edx,4),%eax
41468d:	73 29                	jae    0x4146b8
41468f:	6a 10                	push   $0x10
414691:	59                   	pop    %ecx
414692:	2b ca                	sub    %edx,%ecx
414694:	d3 e8                	shr    %cl,%eax
414696:	0f b6 8c 38 b8 00 00 	movzbl 0xb8(%eax,%edi,1),%ecx
41469d:	00
41469e:	03 4e 04             	add    0x4(%esi),%ecx
4146a1:	8b d1                	mov    %ecx,%edx
4146a3:	c1 ea 03             	shr    $0x3,%edx
4146a6:	01 16                	add    %edx,(%esi)
4146a8:	83 e1 07             	and    $0x7,%ecx
4146ab:	89 4e 04             	mov    %ecx,0x4(%esi)
4146ae:	0f b7 84 47 b8 04 00 	movzwl 0x4b8(%edi,%eax,2),%eax
4146b5:	00
4146b6:	eb 57                	jmp    0x41470f
4146b8:	42                   	inc    %edx
4146b9:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
4146c0:	83 fa 0f             	cmp    $0xf,%edx
4146c3:	73 16                	jae    0x4146db
4146c5:	8d 4c 97 34          	lea    0x34(%edi,%edx,4),%ecx
4146c9:	3b 01                	cmp    (%ecx),%eax
4146cb:	72 0b                	jb     0x4146d8
4146cd:	42                   	inc    %edx
4146ce:	83 c1 04             	add    $0x4,%ecx
4146d1:	83 fa 0f             	cmp    $0xf,%edx
4146d4:	72 f3                	jb     0x4146c9
4146d6:	eb 03                	jmp    0x4146db
4146d8:	89 55 08             	mov    %edx,0x8(%ebp)
4146db:	8b 4e 04             	mov    0x4(%esi),%ecx
4146de:	03 4d 08             	add    0x8(%ebp),%ecx
4146e1:	6a 10                	push   $0x10
4146e3:	8b d1                	mov    %ecx,%edx
4146e5:	c1 ea 03             	shr    $0x3,%edx
4146e8:	01 16                	add    %edx,(%esi)
4146ea:	8b 55 08             	mov    0x8(%ebp),%edx
4146ed:	83 e1 07             	and    $0x7,%ecx
4146f0:	89 4e 04             	mov    %ecx,0x4(%esi)
4146f3:	2b 44 97 30          	sub    0x30(%edi,%edx,4),%eax
4146f7:	59                   	pop    %ecx
4146f8:	2b ca                	sub    %edx,%ecx
4146fa:	d3 e8                	shr    %cl,%eax
4146fc:	03 44 97 74          	add    0x74(%edi,%edx,4),%eax
414700:	3b 47 30             	cmp    0x30(%edi),%eax
414703:	72 02                	jb     0x414707
414705:	33 c0                	xor    %eax,%eax
414707:	0f b7 84 47 b8 0c 00 	movzwl 0xcb8(%edi,%eax,2),%eax
41470e:	00
41470f:	b9 00 01 00 00       	mov    $0x100,%ecx
414714:	3b c1                	cmp    %ecx,%eax
414716:	73 3d                	jae    0x414755
414718:	83 bf d8 4a 00 00 01 	cmpl   $0x1,0x4ad8(%edi)
41471f:	76 27                	jbe    0x414748
414721:	83 7b f4 00          	cmpl   $0x0,-0xc(%ebx)
414725:	75 21                	jne    0x414748
414727:	0f b7 4b f8          	movzwl -0x8(%ebx),%ecx
41472b:	66 83 f9 03          	cmp    $0x3,%cx
41472f:	73 17                	jae    0x414748
414731:	41                   	inc    %ecx
414732:	66 89 4b f8          	mov    %cx,-0x8(%ebx)
414736:	0f b7 c9             	movzwl %cx,%ecx
414739:	88 44 19 fc          	mov    %al,-0x4(%ecx,%ebx,1)
41473d:	ff 8f d8 4a 00 00    	decl   0x4ad8(%edi)
414743:	e9 9e fe ff ff       	jmp    0x4145e6
414748:	83 23 00             	andl   $0x0,(%ebx)
41474b:	88 43 08             	mov    %al,0x8(%ebx)
41474e:	33 c0                	xor    %eax,%eax
414750:	e9 c2 03 00 00       	jmp    0x414b17
414755:	3d 06 01 00 00       	cmp    $0x106,%eax
41475a:	0f 82 51 02 00 00    	jb     0x4149b1
414760:	05 fa fe ff ff       	add    $0xfffffefa,%eax
414765:	83 f8 08             	cmp    $0x8,%eax
414768:	73 08                	jae    0x414772
41476a:	83 c0 02             	add    $0x2,%eax
41476d:	89 45 fc             	mov    %eax,-0x4(%ebp)
414770:	eb 3c                	jmp    0x4147ae
414772:	8b d8                	mov    %eax,%ebx
414774:	c1 eb 02             	shr    $0x2,%ebx
414777:	83 e0 03             	and    $0x3,%eax
41477a:	4b                   	dec    %ebx
41477b:	83 c8 04             	or     $0x4,%eax
41477e:	8b cb                	mov    %ebx,%ecx
414780:	d3 e0                	shl    %cl,%eax
414782:	40                   	inc    %eax
414783:	40                   	inc    %eax
414784:	89 45 fc             	mov    %eax,-0x4(%ebp)
414787:	85 db                	test   %ebx,%ebx
414789:	76 23                	jbe    0x4147ae
41478b:	8b ce                	mov    %esi,%ecx
41478d:	e8 78 4f ff ff       	call   0x40970a
414792:	6a 10                	push   $0x10
414794:	59                   	pop    %ecx
414795:	2b cb                	sub    %ebx,%ecx
414797:	d3 e8                	shr    %cl,%eax
414799:	01 45 fc             	add    %eax,-0x4(%ebp)
41479c:	8b 46 04             	mov    0x4(%esi),%eax
41479f:	03 c3                	add    %ebx,%eax
4147a1:	8b c8                	mov    %eax,%ecx
4147a3:	c1 e9 03             	shr    $0x3,%ecx
4147a6:	01 0e                	add    %ecx,(%esi)
4147a8:	83 e0 07             	and    $0x7,%eax
4147ab:	89 46 04             	mov    %eax,0x4(%esi)
4147ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147b1:	8b ce                	mov    %esi,%ecx
4147b3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4147b6:	e8 4f 4f ff ff       	call   0x40970a
4147bb:	8b 97 a0 0f 00 00    	mov    0xfa0(%edi),%edx
4147c1:	25 fe ff 00 00       	and    $0xfffe,%eax
4147c6:	3b 84 97 20 0f 00 00 	cmp    0xf20(%edi,%edx,4),%eax
4147cd:	73 29                	jae    0x4147f8
4147cf:	6a 10                	push   $0x10
4147d1:	59                   	pop    %ecx
4147d2:	2b ca                	sub    %edx,%ecx
4147d4:	d3 e8                	shr    %cl,%eax
4147d6:	0f b6 8c 38 a4 0f 00 	movzbl 0xfa4(%eax,%edi,1),%ecx
4147dd:	00
4147de:	03 4e 04             	add    0x4(%esi),%ecx
4147e1:	8b d1                	mov    %ecx,%edx
4147e3:	c1 ea 03             	shr    $0x3,%edx
4147e6:	01 16                	add    %edx,(%esi)
4147e8:	83 e1 07             	and    $0x7,%ecx
4147eb:	89 4e 04             	mov    %ecx,0x4(%esi)
4147ee:	0f b7 84 47 a4 13 00 	movzwl 0x13a4(%edi,%eax,2),%eax
4147f5:	00
4147f6:	eb 5b                	jmp    0x414853
4147f8:	6a 0f                	push   $0xf
4147fa:	5b                   	pop    %ebx
4147fb:	8d 4a 01             	lea    0x1(%edx),%ecx
4147fe:	3b cb                	cmp    %ebx,%ecx
414800:	73 18                	jae    0x41481a
414802:	8d 94 8f 20 0f 00 00 	lea    0xf20(%edi,%ecx,4),%edx
414809:	3b 02                	cmp    (%edx),%eax
41480b:	72 0b                	jb     0x414818
41480d:	41                   	inc    %ecx
41480e:	83 c2 04             	add    $0x4,%edx
414811:	83 f9 0f             	cmp    $0xf,%ecx
414814:	72 f3                	jb     0x414809
414816:	eb 02                	jmp    0x41481a
414818:	8b d9                	mov    %ecx,%ebx
41481a:	8b 4e 04             	mov    0x4(%esi),%ecx
41481d:	03 cb                	add    %ebx,%ecx
41481f:	8b d1                	mov    %ecx,%edx
414821:	83 e1 07             	and    $0x7,%ecx
414824:	89 4e 04             	mov    %ecx,0x4(%esi)
414827:	c1 ea 03             	shr    $0x3,%edx
41482a:	01 16                	add    %edx,(%esi)
41482c:	2b 84 9f 1c 0f 00 00 	sub    0xf1c(%edi,%ebx,4),%eax
414833:	6a 10                	push   $0x10
414835:	59                   	pop    %ecx
414836:	2b cb                	sub    %ebx,%ecx
414838:	d3 e8                	shr    %cl,%eax
41483a:	03 84 9f 60 0f 00 00 	add    0xf60(%edi,%ebx,4),%eax
414841:	3b 87 1c 0f 00 00    	cmp    0xf1c(%edi),%eax
414847:	72 02                	jb     0x41484b
414849:	33 c0                	xor    %eax,%eax
41484b:	0f b7 84 47 a4 1b 00 	movzwl 0x1ba4(%edi,%eax,2),%eax
414852:	00
414853:	83 f8 04             	cmp    $0x4,%eax
414856:	73 09                	jae    0x414861
414858:	40                   	inc    %eax
414859:	89 45 08             	mov    %eax,0x8(%ebp)
41485c:	e9 15 01 00 00       	jmp    0x414976
414861:	8b d8                	mov    %eax,%ebx
414863:	d1 eb                	shr    $1,%ebx
414865:	83 e0 01             	and    $0x1,%eax
414868:	4b                   	dec    %ebx
414869:	83 c8 02             	or     $0x2,%eax
41486c:	8b cb                	mov    %ebx,%ecx
41486e:	d3 e0                	shl    %cl,%eax
414870:	40                   	inc    %eax
414871:	89 45 08             	mov    %eax,0x8(%ebp)
414874:	85 db                	test   %ebx,%ebx
414876:	0f 86 fa 00 00 00    	jbe    0x414976
41487c:	83 fb 04             	cmp    $0x4,%ebx
41487f:	0f 82 ce 00 00 00    	jb     0x414953
414885:	76 28                	jbe    0x4148af
414887:	8b ce                	mov    %esi,%ecx
414889:	e8 81 de ff ff       	call   0x41270f
41488e:	6a 24                	push   $0x24
414890:	59                   	pop    %ecx
414891:	2b cb                	sub    %ebx,%ecx
414893:	d3 e8                	shr    %cl,%eax
414895:	c1 e0 04             	shl    $0x4,%eax
414898:	01 45 08             	add    %eax,0x8(%ebp)
41489b:	8b 46 04             	mov    0x4(%esi),%eax
41489e:	8d 5c 18 fc          	lea    -0x4(%eax,%ebx,1),%ebx
4148a2:	8b c3                	mov    %ebx,%eax
4148a4:	c1 e8 03             	shr    $0x3,%eax
4148a7:	01 06                	add    %eax,(%esi)
4148a9:	83 e3 07             	and    $0x7,%ebx
4148ac:	89 5e 04             	mov    %ebx,0x4(%esi)
4148af:	8b ce                	mov    %esi,%ecx
4148b1:	e8 54 4e ff ff       	call   0x40970a
4148b6:	8b 9f 8c 1e 00 00    	mov    0x1e8c(%edi),%ebx
4148bc:	25 fe ff 00 00       	and    $0xfffe,%eax
4148c1:	3b 84 9f 0c 1e 00 00 	cmp    0x1e0c(%edi,%ebx,4),%eax
4148c8:	73 29                	jae    0x4148f3
4148ca:	6a 10                	push   $0x10
4148cc:	59                   	pop    %ecx
4148cd:	2b cb                	sub    %ebx,%ecx
4148cf:	d3 e8                	shr    %cl,%eax
4148d1:	0f b6 8c 38 90 1e 00 	movzbl 0x1e90(%eax,%edi,1),%ecx
4148d8:	00
4148d9:	03 4e 04             	add    0x4(%esi),%ecx
4148dc:	8b d1                	mov    %ecx,%edx
4148de:	c1 ea 03             	shr    $0x3,%edx
4148e1:	01 16                	add    %edx,(%esi)
4148e3:	83 e1 07             	and    $0x7,%ecx
4148e6:	89 4e 04             	mov    %ecx,0x4(%esi)
4148e9:	0f b7 84 47 90 22 00 	movzwl 0x2290(%edi,%eax,2),%eax
4148f0:	00
4148f1:	eb 5b                	jmp    0x41494e
4148f3:	6a 0f                	push   $0xf
4148f5:	5a                   	pop    %edx
4148f6:	8d 4b 01             	lea    0x1(%ebx),%ecx
4148f9:	3b ca                	cmp    %edx,%ecx
4148fb:	73 18                	jae    0x414915
4148fd:	8d 9c 8f 0c 1e 00 00 	lea    0x1e0c(%edi,%ecx,4),%ebx
414904:	3b 03                	cmp    (%ebx),%eax
414906:	72 0b                	jb     0x414913
414908:	41                   	inc    %ecx
414909:	83 c3 04             	add    $0x4,%ebx
41490c:	83 f9 0f             	cmp    $0xf,%ecx
41490f:	72 f3                	jb     0x414904
414911:	eb 02                	jmp    0x414915
414913:	8b d1                	mov    %ecx,%edx
414915:	8b 4e 04             	mov    0x4(%esi),%ecx
414918:	03 ca                	add    %edx,%ecx
41491a:	8b d9                	mov    %ecx,%ebx
41491c:	83 e1 07             	and    $0x7,%ecx
41491f:	89 4e 04             	mov    %ecx,0x4(%esi)
414922:	c1 eb 03             	shr    $0x3,%ebx
414925:	01 1e                	add    %ebx,(%esi)
414927:	2b 84 97 08 1e 00 00 	sub    0x1e08(%edi,%edx,4),%eax
41492e:	6a 10                	push   $0x10
414930:	59                   	pop    %ecx
414931:	2b ca                	sub    %edx,%ecx
414933:	d3 e8                	shr    %cl,%eax
414935:	03 84 97 4c 1e 00 00 	add    0x1e4c(%edi,%edx,4),%eax
41493c:	3b 87 08 1e 00 00    	cmp    0x1e08(%edi),%eax
414942:	72 02                	jb     0x414946
414944:	33 c0                	xor    %eax,%eax
414946:	0f b7 84 47 90 2a 00 	movzwl 0x2a90(%edi,%eax,2),%eax
41494d:	00
41494e:	01 45 08             	add    %eax,0x8(%ebp)
414951:	eb 23                	jmp    0x414976
414953:	8b ce                	mov    %esi,%ecx
414955:	e8 b5 dd ff ff       	call   0x41270f
41495a:	6a 20                	push   $0x20
41495c:	59                   	pop    %ecx
41495d:	2b cb                	sub    %ebx,%ecx
41495f:	d3 e8                	shr    %cl,%eax
414961:	01 45 08             	add    %eax,0x8(%ebp)
414964:	8b 46 04             	mov    0x4(%esi),%eax
414967:	03 c3                	add    %ebx,%eax
414969:	8b c8                	mov    %eax,%ecx
41496b:	c1 e9 03             	shr    $0x3,%ecx
41496e:	01 0e                	add    %ecx,(%esi)
414970:	83 e0 07             	and    $0x7,%eax
414973:	89 46 04             	mov    %eax,0x4(%esi)
414976:	8b 55 08             	mov    0x8(%ebp),%edx
414979:	81 fa 00 01 00 00    	cmp    $0x100,%edx
41497f:	76 18                	jbe    0x414999
414981:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414984:	41                   	inc    %ecx
414985:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
41498b:	76 0f                	jbe    0x41499c
41498d:	41                   	inc    %ecx
41498e:	81 fa 00 00 04 00    	cmp    $0x40000,%edx
414994:	76 06                	jbe    0x41499c
414996:	41                   	inc    %ecx
414997:	eb 03                	jmp    0x41499c
414999:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41499c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41499f:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4149a5:	66 89 48 04          	mov    %cx,0x4(%eax)
4149a9:	89 50 08             	mov    %edx,0x8(%eax)
4149ac:	e9 35 fc ff ff       	jmp    0x4145e6
4149b1:	3b c1                	cmp    %ecx,%eax
4149b3:	75 4f                	jne    0x414a04
4149b5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4149b8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4149bb:	50                   	push   %eax
4149bc:	56                   	push   %esi
4149bd:	e8 f2 f4 ff ff       	call   0x413eb4
4149c2:	66 0f b6 45 d4       	movzbw -0x2c(%ebp),%ax
4149c7:	66 89 43 04          	mov    %ax,0x4(%ebx)
4149cb:	8b 45 d8             	mov    -0x28(%ebp),%eax
4149ce:	89 43 08             	mov    %eax,0x8(%ebx)
4149d1:	6a 04                	push   $0x4
4149d3:	59                   	pop    %ecx
4149d4:	89 0b                	mov    %ecx,(%ebx)
4149d6:	8b 97 d8 4a 00 00    	mov    0x4ad8(%edi),%edx
4149dc:	8b c2                	mov    %edx,%eax
4149de:	6b c0 0c             	imul   $0xc,%eax,%eax