4fc7f6:	8b 47 20             	mov    0x20(%edi),%eax
4fc7f9:	8b 4e 20             	mov    0x20(%esi),%ecx
4fc7fc:	8b 55 f0             	mov    -0x10(%ebp),%edx
4fc7ff:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4fc802:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
4fc805:	8b 47 1c             	mov    0x1c(%edi),%eax
4fc808:	80 3c 03 00          	cmpb   $0x0,(%ebx,%eax,1)
4fc80c:	74 07                	je     0x4fc815
4fc80e:	81 4e 38 00 02 00 00 	orl    $0x200,0x38(%esi)
4fc815:	83 45 f4 02          	addl   $0x2,-0xc(%ebp)
4fc819:	83 c2 04             	add    $0x4,%edx
4fc81c:	89 55 f0             	mov    %edx,-0x10(%ebp)
4fc81f:	43                   	inc    %ebx
4fc820:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
4fc823:	7c ac                	jl     0x4fc7d1
4fc825:	eb 08                	jmp    0x4fc82f
4fc827:	66 8b 46 32          	mov    0x32(%esi),%ax
4fc82b:	66 89 46 34          	mov    %ax,0x34(%esi)
4fc82f:	8b 76 14             	mov    0x14(%esi),%esi
4fc832:	85 f6                	test   %esi,%esi
4fc834:	0f 85 16 ff ff ff    	jne    0x4fc750
4fc83a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4fc83d:	8b 55 0c             	mov    0xc(%ebp),%edx
4fc840:	33 c0                	xor    %eax,%eax
4fc842:	33 f6                	xor    %esi,%esi
4fc844:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc847:	0f bf 4a 2a          	movswl 0x2a(%edx),%ecx
4fc84b:	85 c9                	test   %ecx,%ecx
4fc84d:	7e 51                	jle    0x4fc8a0
4fc84f:	8b 57 04             	mov    0x4(%edi),%edx
4fc852:	8b f9                	mov    %ecx,%edi
4fc854:	89 55 ec             	mov    %edx,-0x14(%ebp)
4fc857:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc85a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4fc860:	8b cb                	mov    %ebx,%ecx
4fc862:	85 db                	test   %ebx,%ebx
4fc864:	74 0f                	je     0x4fc875
4fc866:	0f bf 02             	movswl (%edx),%eax
4fc869:	8d 52 02             	lea    0x2(%edx),%edx
4fc86c:	49                   	dec    %ecx
4fc86d:	3b f0                	cmp    %eax,%esi
4fc86f:	74 1d                	je     0x4fc88e
4fc871:	85 c9                	test   %ecx,%ecx
4fc873:	7f f1                	jg     0x4fc866
4fc875:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc878:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4fc87b:	8b 40 04             	mov    0x4(%eax),%eax
4fc87e:	f6 44 01 10 20       	testb  $0x20,0x10(%ecx,%eax,1)
4fc883:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc886:	75 09                	jne    0x4fc891
4fc888:	40                   	inc    %eax
4fc889:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc88c:	eb 03                	jmp    0x4fc891
4fc88e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc891:	83 45 f4 14          	addl   $0x14,-0xc(%ebp)
4fc895:	46                   	inc    %esi
4fc896:	8b 55 ec             	mov    -0x14(%ebp),%edx
4fc899:	3b f7                	cmp    %edi,%esi
4fc89b:	7c c3                	jl     0x4fc860
4fc89d:	8b 7d f8             	mov    -0x8(%ebp),%edi
4fc8a0:	03 c3                	add    %ebx,%eax
4fc8a2:	50                   	push   %eax
4fc8a3:	57                   	push   %edi
4fc8a4:	ff 75 08             	push   0x8(%ebp)
4fc8a7:	e8 44 6e 01 00       	call   0x5136f0
4fc8ac:	83 c4 0c             	add    $0xc,%esp
4fc8af:	85 c0                	test   %eax,%eax
4fc8b1:	75 67                	jne    0x4fc91a
4fc8b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc8b6:	33 c9                	xor    %ecx,%ecx
4fc8b8:	33 f6                	xor    %esi,%esi
4fc8ba:	66 3b 48 2a          	cmp    0x2a(%eax),%cx
4fc8be:	7d 51                	jge    0x4fc911
4fc8c0:	89 4d 08             	mov    %ecx,0x8(%ebp)
4fc8c3:	8b 57 04             	mov    0x4(%edi),%edx
4fc8c6:	8b cb                	mov    %ebx,%ecx
4fc8c8:	85 db                	test   %ebx,%ebx
4fc8ca:	7e 13                	jle    0x4fc8df
4fc8cc:	0f 1f 40 00          	nopl   0x0(%eax)
4fc8d0:	0f bf 02             	movswl (%edx),%eax
4fc8d3:	8d 52 02             	lea    0x2(%edx),%edx
4fc8d6:	49                   	dec    %ecx
4fc8d7:	3b f0                	cmp    %eax,%esi
4fc8d9:	74 26                	je     0x4fc901
4fc8db:	85 c9                	test   %ecx,%ecx
4fc8dd:	7f f1                	jg     0x4fc8d0
4fc8df:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc8e2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fc8e5:	8b 40 04             	mov    0x4(%eax),%eax
4fc8e8:	f6 44 08 10 20       	testb  $0x20,0x10(%eax,%ecx,1)
4fc8ed:	75 12                	jne    0x4fc901
4fc8ef:	8b 47 04             	mov    0x4(%edi),%eax
4fc8f2:	66 89 34 58          	mov    %si,(%eax,%ebx,2)
4fc8f6:	8b 47 20             	mov    0x20(%edi),%eax
4fc8f9:	c7 04 98 40 1c 6b 00 	movl   $0x6b1c40,(%eax,%ebx,4)
4fc900:	43                   	inc    %ebx
4fc901:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc904:	46                   	inc    %esi
4fc905:	83 45 08 14          	addl   $0x14,0x8(%ebp)
4fc909:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
4fc90d:	3b f0                	cmp    %eax,%esi
4fc90f:	7c b2                	jl     0x4fc8c3
4fc911:	57                   	push   %edi
4fc912:	e8 49 52 01 00       	call   0x511b60
4fc917:	83 c4 04             	add    $0x4,%esp
4fc91a:	5f                   	pop    %edi
4fc91b:	5e                   	pop    %esi
4fc91c:	5b                   	pop    %ebx
4fc91d:	8b e5                	mov    %ebp,%esp
4fc91f:	5d                   	pop    %ebp
4fc920:	c3                   	ret
4fc921:	cc                   	int3
4fc922:	cc                   	int3
4fc923:	cc                   	int3
4fc924:	cc                   	int3
4fc925:	cc                   	int3
4fc926:	cc                   	int3
4fc927:	cc                   	int3
4fc928:	cc                   	int3
4fc929:	cc                   	int3
4fc92a:	cc                   	int3
4fc92b:	cc                   	int3
4fc92c:	cc                   	int3
4fc92d:	cc                   	int3
4fc92e:	cc                   	int3
4fc92f:	cc                   	int3
4fc930:	55                   	push   %ebp
4fc931:	8b ec                	mov    %esp,%ebp
4fc933:	8b 45 10             	mov    0x10(%ebp),%eax
4fc936:	83 ec 08             	sub    $0x8,%esp
4fc939:	83 38 00             	cmpl   $0x0,(%eax)
4fc93c:	0f 85 b4 00 00 00    	jne    0x4fc9f6
4fc942:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4fc945:	53                   	push   %ebx
4fc946:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fc949:	56                   	push   %esi
4fc94a:	57                   	push   %edi
4fc94b:	33 ff                	xor    %edi,%edi
4fc94d:	be 64 00 00 00       	mov    $0x64,%esi
4fc952:	8b 43 34             	mov    0x34(%ebx),%eax
4fc955:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4fc959:	8b 53 38             	mov    0x38(%ebx),%edx
4fc95c:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fc95f:	0f 44 fe             	cmove  %esi,%edi
4fc962:	8b 41 38             	mov    0x38(%ecx),%eax
4fc965:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc968:	0f b6 43 09          	movzbl 0x9(%ebx),%eax
4fc96c:	0f b6 4c 10 05       	movzbl 0x5(%eax,%edx,1),%ecx
4fc971:	8d 34 10             	lea    (%eax,%edx,1),%esi
4fc974:	0f b6 46 06          	movzbl 0x6(%esi),%eax
4fc978:	c1 e1 08             	shl    $0x8,%ecx
4fc97b:	0b c8                	or     %eax,%ecx
4fc97d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4fc980:	8b 40 24             	mov    0x24(%eax),%eax
4fc983:	2b c1                	sub    %ecx,%eax
4fc985:	50                   	push   %eax
4fc986:	8d 04 11             	lea    (%ecx,%edx,1),%eax
4fc989:	50                   	push   %eax
4fc98a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc98d:	03 c1                	add    %ecx,%eax
4fc98f:	50                   	push   %eax
4fc990:	e8 6b 65 0e 00       	call   0x5e2f00
4fc995:	0f b7 4b 18          	movzwl 0x18(%ebx),%ecx
4fc999:	0f b7 43 12          	movzwl 0x12(%ebx),%eax
4fc99d:	8d 04 48             	lea    (%eax,%ecx,2),%eax
4fc9a0:	50                   	push   %eax
4fc9a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc9a4:	03 c7                	add    %edi,%eax
4fc9a6:	56                   	push   %esi
4fc9a7:	50                   	push   %eax
4fc9a8:	e8 53 65 0e 00       	call   0x5e2f00
4fc9ad:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4fc9b0:	53                   	push   %ebx
4fc9b1:	c6 03 00             	movb   $0x0,(%ebx)
4fc9b4:	e8 57 a4 ff ff       	call   0x4f6e10
4fc9b9:	8b c8                	mov    %eax,%ecx
4fc9bb:	83 c4 1c             	add    $0x1c,%esp
4fc9be:	85 c9                	test   %ecx,%ecx
4fc9c0:	75 2c                	jne    0x4fc9ee
4fc9c2:	53                   	push   %ebx
4fc9c3:	e8 b8 99 ff ff       	call   0x4f6380
4fc9c8:	8b c8                	mov    %eax,%ecx
4fc9ca:	83 c4 04             	add    $0x4,%esp
4fc9cd:	85 c9                	test   %ecx,%ecx
4fc9cf:	75 1d                	jne    0x4fc9ee
4fc9d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4fc9d4:	38 48 11             	cmp    %cl,0x11(%eax)
4fc9d7:	74 1a                	je     0x4fc9f3
4fc9d9:	53                   	push   %ebx
4fc9da:	e8 61 a5 01 00       	call   0x516f40
4fc9df:	8b 4d 10             	mov    0x10(%ebp),%ecx
4fc9e2:	83 c4 04             	add    $0x4,%esp
4fc9e5:	5f                   	pop    %edi
4fc9e6:	5e                   	pop    %esi
4fc9e7:	89 01                	mov    %eax,(%ecx)
4fc9e9:	5b                   	pop    %ebx
4fc9ea:	8b e5                	mov    %ebp,%esp
4fc9ec:	5d                   	pop    %ebp
4fc9ed:	c3                   	ret
4fc9ee:	8b 45 10             	mov    0x10(%ebp),%eax
4fc9f1:	89 08                	mov    %ecx,(%eax)
4fc9f3:	5f                   	pop    %edi
4fc9f4:	5e                   	pop    %esi
4fc9f5:	5b                   	pop    %ebx
4fc9f6:	8b e5                	mov    %ebp,%esp
4fc9f8:	5d                   	pop    %ebp
4fc9f9:	c3                   	ret
4fc9fa:	cc                   	int3
4fc9fb:	cc                   	int3
4fc9fc:	cc                   	int3
4fc9fd:	cc                   	int3
4fc9fe:	cc                   	int3
4fc9ff:	cc                   	int3
4fca00:	55                   	push   %ebp
4fca01:	8b ec                	mov    %esp,%ebp
4fca03:	56                   	push   %esi
4fca04:	8b 75 08             	mov    0x8(%ebp),%esi
4fca07:	57                   	push   %edi
4fca08:	8b 3e                	mov    (%esi),%edi
4fca0a:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
4fca0e:	74 0b                	je     0x4fca1b
4fca10:	5f                   	pop    %edi
4fca11:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
4fca18:	5e                   	pop    %esi
4fca19:	5d                   	pop    %ebp
4fca1a:	c3                   	ret
4fca1b:	8b 46 04             	mov    0x4(%esi),%eax
4fca1e:	83 38 00             	cmpl   $0x0,(%eax)
4fca21:	0f 85 92 00 00 00    	jne    0x4fcab9
4fca27:	f6 46 10 01          	testb  $0x1,0x10(%esi)
4fca2b:	74 1c                	je     0x4fca49
4fca2d:	ff 75 10             	push   0x10(%ebp)
4fca30:	57                   	push   %edi
4fca31:	e8 7a 4c 02 00       	call   0x5216b0
4fca36:	8b 4e 04             	mov    0x4(%esi),%ecx
4fca39:	83 c4 08             	add    $0x8,%esp
4fca3c:	89 01                	mov    %eax,(%ecx)
4fca3e:	5f                   	pop    %edi
4fca3f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4fca46:	5e                   	pop    %esi
4fca47:	5d                   	pop    %ebp
4fca48:	c3                   	ret
4fca49:	8b 47 20             	mov    0x20(%edi),%eax
4fca4c:	83 e0 01             	and    $0x1,%eax
4fca4f:	83 c8 00             	or     $0x0,%eax
4fca52:	74 14                	je     0x4fca68
4fca54:	68 f9 ef 01 00       	push   $0x1eff9
4fca59:	e8 52 33 02 00       	call   0x51fdb0
4fca5e:	83 c4 04             	add    $0x4,%esp
4fca61:	89 46 0c             	mov    %eax,0xc(%esi)
4fca64:	5f                   	pop    %edi
4fca65:	5e                   	pop    %esi
4fca66:	5d                   	pop    %ebp
4fca67:	c3                   	ret
4fca68:	8b 45 0c             	mov    0xc(%ebp),%eax
4fca6b:	b9 d8 ac 6b 00       	mov    $0x6bacd8,%ecx
4fca70:	85 c0                	test   %eax,%eax
4fca72:	0f 45 c8             	cmovne %eax,%ecx
4fca75:	51                   	push   %ecx
4fca76:	68 dc ac 6b 00       	push   $0x6bacdc
4fca7b:	57                   	push   %edi
4fca7c:	e8 bf 44 03 00       	call   0x530f40
4fca81:	8b 4d 10             	mov    0x10(%ebp),%ecx
4fca84:	83 c4 0c             	add    $0xc,%esp
4fca87:	8b d0                	mov    %eax,%edx
4fca89:	85 c9                	test   %ecx,%ecx
4fca8b:	74 17                	je     0x4fcaa4
4fca8d:	80 39 00             	cmpb   $0x0,(%ecx)
4fca90:	74 12                	je     0x4fcaa4
4fca92:	51                   	push   %ecx
4fca93:	52                   	push   %edx
4fca94:	68 fc ac 6b 00       	push   $0x6bacfc
4fca99:	57                   	push   %edi
4fca9a:	e8 a1 44 03 00       	call   0x530f40
4fca9f:	83 c4 10             	add    $0x10,%esp
4fcaa2:	8b d0                	mov    %eax,%edx
4fcaa4:	8b 46 04             	mov    0x4(%esi),%eax
4fcaa7:	68 00 f0 01 00       	push   $0x1f000
4fcaac:	89 10                	mov    %edx,(%eax)
4fcaae:	e8 fd 32 02 00       	call   0x51fdb0
4fcab3:	89 46 0c             	mov    %eax,0xc(%esi)
4fcab6:	83 c4 04             	add    $0x4,%esp
4fcab9:	5f                   	pop    %edi
4fcaba:	5e                   	pop    %esi
4fcabb:	5d                   	pop    %ebp
4fcabc:	c3                   	ret
4fcabd:	cc                   	int3
4fcabe:	cc                   	int3
4fcabf:	cc                   	int3
4fcac0:	55                   	push   %ebp
4fcac1:	8b ec                	mov    %esp,%ebp
4fcac3:	53                   	push   %ebx
4fcac4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fcac7:	56                   	push   %esi
4fcac8:	57                   	push   %edi
4fcac9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4fcacc:	8b 73 08             	mov    0x8(%ebx),%esi
4fcacf:	85 ff                	test   %edi,%edi
4fcad1:	7f 3b                	jg     0x4fcb0e
4fcad3:	b8 00 24 00 00       	mov    $0x2400,%eax
4fcad8:	66 85 46 08          	test   %ax,0x8(%esi)
4fcadc:	74 18                	je     0x4fcaf6
4fcade:	56                   	push   %esi
4fcadf:	e8 6c e3 05 00       	call   0x55ae50
4fcae4:	83 c4 04             	add    $0x4,%esp
4fcae7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4fcaee:	8b 46 10             	mov    0x10(%esi),%eax
4fcaf1:	5f                   	pop    %edi
4fcaf2:	5e                   	pop    %esi
4fcaf3:	5b                   	pop    %ebx
4fcaf4:	5d                   	pop    %ebp
4fcaf5:	c3                   	ret
4fcaf6:	b8 01 00 00 00       	mov    $0x1,%eax
4fcafb:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4fcb02:	66 89 46 08          	mov    %ax,0x8(%esi)
4fcb06:	8b 46 10             	mov    0x10(%esi),%eax
4fcb09:	5f                   	pop    %edi
4fcb0a:	5e                   	pop    %esi
4fcb0b:	5b                   	pop    %ebx
4fcb0c:	5d                   	pop    %ebp
4fcb0d:	c3                   	ret
4fcb0e:	39 7e 18             	cmp    %edi,0x18(%esi)
4fcb11:	7d 0e                	jge    0x4fcb21
4fcb13:	6a 00                	push   $0x0
4fcb15:	57                   	push   %edi
4fcb16:	56                   	push   %esi
4fcb17:	e8 d4 e9 04 00       	call   0x54b4f0
4fcb1c:	83 c4 0c             	add    $0xc,%esp
4fcb1f:	eb 0b                	jmp    0x4fcb2c
4fcb21:	8b 46 14             	mov    0x14(%esi),%eax
4fcb24:	66 83 66 08 2d       	andw   $0x2d,0x8(%esi)
4fcb29:	89 46 10             	mov    %eax,0x10(%esi)
4fcb2c:	b8 00 20 00 00       	mov    $0x2000,%eax
4fcb31:	66 89 46 08          	mov    %ax,0x8(%esi)
4fcb35:	8b 43 04             	mov    0x4(%ebx),%eax
4fcb38:	89 06                	mov    %eax,(%esi)
4fcb3a:	8b 46 10             	mov    0x10(%esi),%eax
4fcb3d:	85 c0                	test   %eax,%eax
4fcb3f:	74 0f                	je     0x4fcb50
4fcb41:	57                   	push   %edi
4fcb42:	6a 00                	push   $0x0
4fcb44:	50                   	push   %eax
4fcb45:	e8 b6 6e 0e 00       	call   0x5e3a00
4fcb4a:	8b 46 10             	mov    0x10(%esi),%eax
4fcb4d:	83 c4 0c             	add    $0xc,%esp
4fcb50:	5f                   	pop    %edi
4fcb51:	5e                   	pop    %esi
4fcb52:	5b                   	pop    %ebx
4fcb53:	5d                   	pop    %ebp
4fcb54:	c3                   	ret