4127af:	e8 2e 77 00 00       	call   0x419ee2
4127b4:	59                   	pop    %ecx
4127b5:	8d 4e 04             	lea    0x4(%esi),%ecx
4127b8:	5e                   	pop    %esi
4127b9:	e9 16 6f ff ff       	jmp    0x4096d4
4127be:	56                   	push   %esi
4127bf:	8b f1                	mov    %ecx,%esi
4127c1:	81 7e 04 e2 7f 00 00 	cmpl   $0x7fe2,0x4(%esi)
4127c8:	7e 05                	jle    0x4127cf
4127ca:	e8 40 f8 ff ff       	call   0x41200f
4127cf:	8b 4e 04             	mov    0x4(%esi),%ecx
4127d2:	8b 46 10             	mov    0x10(%esi),%eax
4127d5:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
4127d9:	41                   	inc    %ecx
4127da:	89 4e 04             	mov    %ecx,0x4(%esi)
4127dd:	5e                   	pop    %esi
4127de:	c3                   	ret
4127df:	8b 44 24 04          	mov    0x4(%esp),%eax
4127e3:	56                   	push   %esi
4127e4:	8b f1                	mov    %ecx,%esi
4127e6:	83 66 04 00          	andl   $0x0,0x4(%esi)
4127ea:	83 26 00             	andl   $0x0,(%esi)
4127ed:	83 4e 08 ff          	orl    $0xffffffff,0x8(%esi)
4127f1:	57                   	push   %edi
4127f2:	6a 04                	push   $0x4
4127f4:	89 46 18             	mov    %eax,0x18(%esi)
4127f7:	5f                   	pop    %edi
4127f8:	8b 4e 18             	mov    0x18(%esi),%ecx
4127fb:	e8 be ff ff ff       	call   0x4127be
412800:	8b 4e 04             	mov    0x4(%esi),%ecx
412803:	c1 e1 08             	shl    $0x8,%ecx
412806:	0b c8                	or     %eax,%ecx
412808:	4f                   	dec    %edi
412809:	89 4e 04             	mov    %ecx,0x4(%esi)
41280c:	75 ea                	jne    0x4127f8
41280e:	5f                   	pop    %edi
41280f:	5e                   	pop    %esi
412810:	c2 04 00             	ret    $0x4
412813:	55                   	push   %ebp
412814:	8b ec                	mov    %esp,%ebp
412816:	8b 81 b0 00 00 00    	mov    0xb0(%ecx),%eax
41281c:	83 ec 10             	sub    $0x10,%esp
41281f:	3b 81 b4 00 00 00    	cmp    0xb4(%ecx),%eax
412825:	74 03                	je     0x41282a
412827:	c6 00 00             	movb   $0x0,(%eax)
41282a:	53                   	push   %ebx
41282b:	56                   	push   %esi
41282c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41282f:	57                   	push   %edi
412830:	89 45 f8             	mov    %eax,-0x8(%ebp)
412833:	89 45 f4             	mov    %eax,-0xc(%ebp)
412836:	8d 79 04             	lea    0x4(%ecx),%edi
412839:	8d 91 b8 00 00 00    	lea    0xb8(%ecx),%edx
41283f:	c7 45 fc 26 00 00 00 	movl   $0x26,-0x4(%ebp)
412846:	be ff ff 00 00       	mov    $0xffff,%esi
41284b:	eb 28                	jmp    0x412875
41284d:	8b 02                	mov    (%edx),%eax
41284f:	8b 18                	mov    (%eax),%ebx
412851:	89 1a                	mov    %ebx,(%edx)
412853:	8d 5d f0             	lea    -0x10(%ebp),%ebx
412856:	89 58 08             	mov    %ebx,0x8(%eax)
412859:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41285c:	89 58 04             	mov    %ebx,0x4(%eax)
41285f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
412862:	89 43 08             	mov    %eax,0x8(%ebx)
412865:	8b de                	mov    %esi,%ebx
412867:	89 45 f4             	mov    %eax,-0xc(%ebp)
41286a:	66 89 18             	mov    %bx,(%eax)
41286d:	66 0f b6 1f          	movzbw (%edi),%bx
412871:	66 89 58 02          	mov    %bx,0x2(%eax)
412875:	83 3a 00             	cmpl   $0x0,(%edx)
412878:	75 d3                	jne    0x41284d
41287a:	83 c2 04             	add    $0x4,%edx
41287d:	47                   	inc    %edi
41287e:	ff 4d fc             	decl   -0x4(%ebp)
412881:	75 f2                	jne    0x412875
412883:	8b 55 f4             	mov    -0xc(%ebp),%edx
412886:	8d 45 f0             	lea    -0x10(%ebp),%eax
412889:	3b d0                	cmp    %eax,%edx
41288b:	0f 84 d0 00 00 00    	je     0x412961
412891:	eb 2c                	jmp    0x4128bf
412893:	0f b7 78 02          	movzwl 0x2(%eax),%edi
412897:	0f b7 5a 02          	movzwl 0x2(%edx),%ebx
41289b:	03 fb                	add    %ebx,%edi
41289d:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
4128a3:	7d 2a                	jge    0x4128cf
4128a5:	8b 78 08             	mov    0x8(%eax),%edi
4128a8:	8b 58 04             	mov    0x4(%eax),%ebx
4128ab:	89 5f 04             	mov    %ebx,0x4(%edi)
4128ae:	8b 78 04             	mov    0x4(%eax),%edi
4128b1:	8b 58 08             	mov    0x8(%eax),%ebx
4128b4:	89 5f 08             	mov    %ebx,0x8(%edi)
4128b7:	66 8b 40 02          	mov    0x2(%eax),%ax
4128bb:	66 01 42 02          	add    %ax,0x2(%edx)
4128bf:	0f b7 42 02          	movzwl 0x2(%edx),%eax
4128c3:	6b c0 0c             	imul   $0xc,%eax,%eax
4128c6:	8b fe                	mov    %esi,%edi
4128c8:	03 c2                	add    %edx,%eax
4128ca:	66 39 38             	cmp    %di,(%eax)
4128cd:	74 c4                	je     0x412893
4128cf:	8b 52 04             	mov    0x4(%edx),%edx
4128d2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4128d5:	3b d0                	cmp    %eax,%edx
4128d7:	75 e6                	jne    0x4128bf
4128d9:	e9 80 00 00 00       	jmp    0x41295e
4128de:	8d 42 04             	lea    0x4(%edx),%eax
4128e1:	8b 18                	mov    (%eax),%ebx
4128e3:	83 c2 08             	add    $0x8,%edx
4128e6:	8b 3a                	mov    (%edx),%edi
4128e8:	89 5f 04             	mov    %ebx,0x4(%edi)
4128eb:	8b 00                	mov    (%eax),%eax
4128ed:	8b 12                	mov    (%edx),%edx
4128ef:	89 50 08             	mov    %edx,0x8(%eax)
4128f2:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4128f6:	3d 80 00 00 00       	cmp    $0x80,%eax
4128fb:	7e 28                	jle    0x412925
4128fd:	8d 90 7f ff ff ff    	lea    -0x81(%eax),%edx
412903:	c1 ea 07             	shr    $0x7,%edx
412906:	42                   	inc    %edx
412907:	8b fa                	mov    %edx,%edi
412909:	6b ff 80             	imul   $0xffffff80,%edi,%edi
41290c:	03 c7                	add    %edi,%eax
41290e:	8b b9 4c 01 00 00    	mov    0x14c(%ecx),%edi
412914:	89 3e                	mov    %edi,(%esi)
412916:	89 b1 4c 01 00 00    	mov    %esi,0x14c(%ecx)
41291c:	81 c6 00 06 00 00    	add    $0x600,%esi
412922:	4a                   	dec    %edx
412923:	75 e9                	jne    0x41290e
412925:	0f b6 7c 01 29       	movzbl 0x29(%ecx,%eax,1),%edi
41292a:	0f b6 54 39 04       	movzbl 0x4(%ecx,%edi,1),%edx
41292f:	3b d0                	cmp    %eax,%edx
412931:	74 1e                	je     0x412951
412933:	0f b6 5c 39 03       	movzbl 0x3(%ecx,%edi,1),%ebx
412938:	4f                   	dec    %edi
412939:	8b d0                	mov    %eax,%edx
41293b:	2b d3                	sub    %ebx,%edx
41293d:	2b c2                	sub    %edx,%eax
41293f:	6b c0 0c             	imul   $0xc,%eax,%eax
412942:	8d 94 91 b4 00 00 00 	lea    0xb4(%ecx,%edx,4),%edx
412949:	8b 1a                	mov    (%edx),%ebx
41294b:	03 c6                	add    %esi,%eax
41294d:	89 18                	mov    %ebx,(%eax)
41294f:	89 02                	mov    %eax,(%edx)
412951:	8d 84 b9 b8 00 00 00 	lea    0xb8(%ecx,%edi,4),%eax
412958:	8b 10                	mov    (%eax),%edx
41295a:	89 16                	mov    %edx,(%esi)
41295c:	89 30                	mov    %esi,(%eax)
41295e:	8b 55 f4             	mov    -0xc(%ebp),%edx
412961:	8d 45 f0             	lea    -0x10(%ebp),%eax
412964:	8b f2                	mov    %edx,%esi
412966:	3b d0                	cmp    %eax,%edx
412968:	0f 85 70 ff ff ff    	jne    0x4128de
41296e:	5f                   	pop    %edi
41296f:	5e                   	pop    %esi
412970:	5b                   	pop    %ebx
412971:	c9                   	leave
412972:	c3                   	ret
412973:	56                   	push   %esi
412974:	8b f1                	mov    %ecx,%esi
412976:	80 be aa 00 00 00 00 	cmpb   $0x0,0xaa(%esi)
41297d:	57                   	push   %edi
41297e:	8b 7c 24 0c          	mov    0xc(%esp),%edi
412982:	75 1f                	jne    0x4129a3
412984:	c6 86 aa 00 00 00 ff 	movb   $0xff,0xaa(%esi)
41298b:	e8 83 fe ff ff       	call   0x412813
412990:	8d 8c be b8 00 00 00 	lea    0xb8(%esi,%edi,4),%ecx
412997:	8b 01                	mov    (%ecx),%eax
412999:	85 c0                	test   %eax,%eax
41299b:	74 06                	je     0x4129a3
41299d:	8b 10                	mov    (%eax),%edx
41299f:	89 11                	mov    %edx,(%ecx)
4129a1:	eb 32                	jmp    0x4129d5
4129a3:	8b cf                	mov    %edi,%ecx
4129a5:	8d 84 be b8 00 00 00 	lea    0xb8(%esi,%edi,4),%eax
4129ac:	41                   	inc    %ecx
4129ad:	83 c0 04             	add    $0x4,%eax
4129b0:	83 f9 26             	cmp    $0x26,%ecx
4129b3:	74 25                	je     0x4129da
4129b5:	83 38 00             	cmpl   $0x0,(%eax)
4129b8:	74 f2                	je     0x4129ac
4129ba:	53                   	push   %ebx
4129bb:	8d 84 8e b8 00 00 00 	lea    0xb8(%esi,%ecx,4),%eax
4129c2:	8b 18                	mov    (%eax),%ebx
4129c4:	8b 13                	mov    (%ebx),%edx
4129c6:	57                   	push   %edi
4129c7:	51                   	push   %ecx
4129c8:	53                   	push   %ebx
4129c9:	8b ce                	mov    %esi,%ecx
4129cb:	89 10                	mov    %edx,(%eax)
4129cd:	e8 ed f1 ff ff       	call   0x411bbf
4129d2:	8b c3                	mov    %ebx,%eax
4129d4:	5b                   	pop    %ebx
4129d5:	5f                   	pop    %edi
4129d6:	5e                   	pop    %esi
4129d7:	c2 04 00             	ret    $0x4
4129da:	fe 8e aa 00 00 00    	decb   0xaa(%esi)
4129e0:	0f b6 44 37 04       	movzbl 0x4(%edi,%esi,1),%eax
4129e5:	6b c0 0c             	imul   $0xc,%eax,%eax
4129e8:	8d 96 5c 01 00 00    	lea    0x15c(%esi),%edx
4129ee:	8b 0a                	mov    (%edx),%ecx
4129f0:	8b f9                	mov    %ecx,%edi
4129f2:	2b be 50 01 00 00    	sub    0x150(%esi),%edi
4129f8:	3b f8                	cmp    %eax,%edi
4129fa:	7e 10                	jle    0x412a0c
4129fc:	2b c8                	sub    %eax,%ecx
4129fe:	89 0a                	mov    %ecx,(%edx)
412a00:	8d 8e 54 01 00 00    	lea    0x154(%esi),%ecx
412a06:	29 01                	sub    %eax,(%ecx)
412a08:	8b 01                	mov    (%ecx),%eax
412a0a:	eb c9                	jmp    0x4129d5
412a0c:	33 c0                	xor    %eax,%eax
412a0e:	eb c5                	jmp    0x4129d5
412a10:	8b 44 24 04          	mov    0x4(%esp),%eax
412a14:	56                   	push   %esi
412a15:	0f b6 74 08 29       	movzbl 0x29(%eax,%ecx,1),%esi
412a1a:	8d 94 b1 b8 00 00 00 	lea    0xb8(%ecx,%esi,4),%edx
412a21:	8b 02                	mov    (%edx),%eax
412a23:	85 c0                	test   %eax,%eax
412a25:	74 06                	je     0x412a2d
412a27:	8b 08                	mov    (%eax),%ecx
412a29:	89 0a                	mov    %ecx,(%edx)
412a2b:	eb 34                	jmp    0x412a61
412a2d:	0f b6 54 0e 04       	movzbl 0x4(%esi,%ecx,1),%edx
412a32:	8b 81 b0 00 00 00    	mov    0xb0(%ecx),%eax
412a38:	6b d2 0c             	imul   $0xc,%edx,%edx
412a3b:	03 d0                	add    %eax,%edx
412a3d:	89 91 b0 00 00 00    	mov    %edx,0xb0(%ecx)
412a43:	3b 91 b4 00 00 00    	cmp    0xb4(%ecx),%edx
412a49:	76 16                	jbe    0x412a61
412a4b:	0f b6 44 0e 04       	movzbl 0x4(%esi,%ecx,1),%eax
412a50:	6b c0 0c             	imul   $0xc,%eax,%eax
412a53:	2b d0                	sub    %eax,%edx
412a55:	56                   	push   %esi
412a56:	89 91 b0 00 00 00    	mov    %edx,0xb0(%ecx)
412a5c:	e8 12 ff ff ff       	call   0x412973
412a61:	5e                   	pop    %esi
412a62:	c2 04 00             	ret    $0x4
412a65:	8d 91 b4 00 00 00    	lea    0xb4(%ecx),%edx
412a6b:	8b 02                	mov    (%edx),%eax
412a6d:	3b 81 b0 00 00 00    	cmp    0xb0(%ecx),%eax
412a73:	74 06                	je     0x412a7b
412a75:	83 c0 f4             	add    $0xfffffff4,%eax
412a78:	89 02                	mov    %eax,(%edx)
412a7a:	c3                   	ret
412a7b:	8d 91 b8 00 00 00    	lea    0xb8(%ecx),%edx
412a81:	83 3a 00             	cmpl   $0x0,(%edx)
412a84:	74 07                	je     0x412a8d
412a86:	8b 02                	mov    (%edx),%eax
412a88:	8b 08                	mov    (%eax),%ecx
412a8a:	89 0a                	mov    %ecx,(%edx)
412a8c:	c3                   	ret
412a8d:	6a 00                	push   $0x0
412a8f:	e8 df fe ff ff       	call   0x412973
412a94:	c3                   	ret
412a95:	55                   	push   %ebp
412a96:	8b ec                	mov    %esp,%ebp
412a98:	53                   	push   %ebx
412a99:	56                   	push   %esi
412a9a:	8b 75 0c             	mov    0xc(%ebp),%esi
412a9d:	57                   	push   %edi
412a9e:	8b f9                	mov    %ecx,%edi
412aa0:	0f b6 5c 3e 29       	movzbl 0x29(%esi,%edi,1),%ebx
412aa5:	0f b6 44 3e 2a       	movzbl 0x2a(%esi,%edi,1),%eax
412aaa:	3b d8                	cmp    %eax,%ebx
412aac:	75 05                	jne    0x412ab3
412aae:	8b 45 08             	mov    0x8(%ebp),%eax
412ab1:	eb 31                	jmp    0x412ae4
412ab3:	8d 46 01             	lea    0x1(%esi),%eax
412ab6:	50                   	push   %eax
412ab7:	e8 54 ff ff ff       	call   0x412a10
412abc:	89 45 0c             	mov    %eax,0xc(%ebp)
412abf:	85 c0                	test   %eax,%eax
412ac1:	74 1e                	je     0x412ae1
412ac3:	6b f6 0c             	imul   $0xc,%esi,%esi
412ac6:	56                   	push   %esi
412ac7:	8b 75 08             	mov    0x8(%ebp),%esi
412aca:	56                   	push   %esi
412acb:	50                   	push   %eax
412acc:	e8 9f 91 00 00       	call   0x41bc70
412ad1:	8d 84 9f b8 00 00 00 	lea    0xb8(%edi,%ebx,4),%eax
412ad8:	8b 08                	mov    (%eax),%ecx
412ada:	89 0e                	mov    %ecx,(%esi)
412adc:	83 c4 0c             	add    $0xc,%esp
412adf:	89 30                	mov    %esi,(%eax)
412ae1:	8b 45 0c             	mov    0xc(%ebp),%eax
412ae4:	5f                   	pop    %edi
412ae5:	5e                   	pop    %esi
412ae6:	5b                   	pop    %ebx
412ae7:	5d                   	pop    %ebp
412ae8:	c2 08 00             	ret    $0x8
412aeb:	53                   	push   %ebx
412aec:	8b d9                	mov    %ecx,%ebx
412aee:	8b 4c 24 08          	mov    0x8(%esp),%ecx
412af2:	81 c1 8c 4a 00 00    	add    $0x4a8c,%ecx
412af8:	e8 68 ff ff ff       	call   0x412a65
412afd:	85 c0                	test   %eax,%eax
412aff:	74 1e                	je     0x412b1f
412b01:	56                   	push   %esi
412b02:	8b 74 24 14          	mov    0x14(%esp),%esi
412b06:	57                   	push   %edi
412b07:	33 c9                	xor    %ecx,%ecx
412b09:	41                   	inc    %ecx
412b0a:	66 89 08             	mov    %cx,(%eax)
412b0d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
412b11:	8d 78 02             	lea    0x2(%eax),%edi
412b14:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412b15:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412b17:	5f                   	pop    %edi
412b18:	89 58 08             	mov    %ebx,0x8(%eax)
412b1b:	89 41 02             	mov    %eax,0x2(%ecx)
412b1e:	5e                   	pop    %esi
412b1f:	5b                   	pop    %ebx
412b20:	c2 0c 00             	ret    $0xc
412b23:	8b c1                	mov    %ecx,%eax
412b25:	33 c9                	xor    %ecx,%ecx
412b27:	89 88 8c 4a 00 00    	mov    %ecx,0x4a8c(%eax)
412b2d:	89 88 44 06 00 00    	mov    %ecx,0x644(%eax)
412b33:	89 88 4c 06 00 00    	mov    %ecx,0x64c(%eax)
412b39:	89 88 48 06 00 00    	mov    %ecx,0x648(%eax)
412b3f:	c3                   	ret
412b40:	55                   	push   %ebp
412b41:	8b ec                	mov    %esp,%ebp
412b43:	83 ec 14             	sub    $0x14,%esp
412b46:	53                   	push   %ebx
412b47:	56                   	push   %esi
412b48:	57                   	push   %edi
412b49:	bf 00 01 00 00       	mov    $0x100,%edi
412b4e:	8b f1                	mov    %ecx,%esi
412b50:	57                   	push   %edi
412b51:	8d 86 6c 06 00 00    	lea    0x66c(%esi),%eax
412b57:	6a 00                	push   $0x0
412b59:	50                   	push   %eax
412b5a:	e8 a1 76 00 00       	call   0x41a200
412b5f:	8d 9e 8c 4a 00 00    	lea    0x4a8c(%esi),%ebx
412b65:	83 c4 0c             	add    $0xc,%esp
412b68:	8b cb                	mov    %ebx,%ecx
412b6a:	e8 21 f1 ff ff       	call   0x411c90
412b6f:	8b 86 60 06 00 00    	mov    0x660(%esi),%eax
412b75:	83 f8 0c             	cmp    $0xc,%eax
412b78:	7c 03                	jl     0x412b7d
412b7a:	6a 0c                	push   $0xc
412b7c:	58                   	pop    %eax
412b7d:	83 c9 ff             	or     $0xffffffff,%ecx
412b80:	2b c8                	sub    %eax,%ecx
412b82:	89 8e 68 06 00 00    	mov    %ecx,0x668(%esi)
412b88:	8b cb                	mov    %ebx,%ecx
412b8a:	e8 d6 fe ff ff       	call   0x412a65
412b8f:	89 86 4c 06 00 00    	mov    %eax,0x64c(%esi)
412b95:	89 86 44 06 00 00    	mov    %eax,0x644(%esi)
412b9b:	83 60 08 00          	andl   $0x0,0x8(%eax)