505867:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50586b:	c7 44 88 0c 01 00 00 	movl   $0x1,0xc(%eax,%ecx,4)
505872:	00
505873:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50587a:	00
50587b:	ff 75 c8             	push   -0x38(%ebp)
50587e:	52                   	push   %edx
50587f:	ff 75 b8             	push   -0x48(%ebp)
505882:	6a 00                	push   $0x0
505884:	6a 00                	push   $0x0
505886:	ff 75 cc             	push   -0x34(%ebp)
505889:	57                   	push   %edi
50588a:	53                   	push   %ebx
50588b:	e8 b0 06 01 00       	call   0x515f40
505890:	8b 55 b4             	mov    -0x4c(%ebp),%edx
505893:	83 c4 20             	add    $0x20,%esp
505896:	85 d2                	test   %edx,%edx
505898:	74 4c                	je     0x5058e6
50589a:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50589d:	39 4e 70             	cmp    %ecx,0x70(%esi)
5058a0:	7f 13                	jg     0x5058b5
5058a2:	6a 00                	push   $0x0
5058a4:	ff 75 c8             	push   -0x38(%ebp)
5058a7:	52                   	push   %edx
5058a8:	6a 3b                	push   $0x3b
5058aa:	56                   	push   %esi
5058ab:	e8 50 0c 00 00       	call   0x506500
5058b0:	83 c4 14             	add    $0x14,%esp
5058b3:	eb 31                	jmp    0x5058e6
5058b5:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5058b8:	8d 41 01             	lea    0x1(%ecx),%eax
5058bb:	89 46 6c             	mov    %eax,0x6c(%esi)
5058be:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5058c1:	8b 46 68             	mov    0x68(%esi),%eax
5058c4:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5058c8:	8b 55 c8             	mov    -0x38(%ebp),%edx
5058cb:	c7 04 88 3b 00 00 00 	movl   $0x3b,(%eax,%ecx,4)
5058d2:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5058d6:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5058dd:	00
5058de:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5058e5:	00
5058e6:	8b 4e 0c             	mov    0xc(%esi),%ecx
5058e9:	8b 55 dc             	mov    -0x24(%ebp),%edx
5058ec:	f7 d2                	not    %edx
5058ee:	8b 41 3c             	mov    0x3c(%ecx),%eax
5058f1:	03 41 38             	add    0x38(%ecx),%eax
5058f4:	79 0d                	jns    0x505903
5058f6:	52                   	push   %edx
5058f7:	56                   	push   %esi
5058f8:	51                   	push   %ecx
5058f9:	e8 a2 de 00 00       	call   0x5137a0
5058fe:	83 c4 0c             	add    $0xc,%esp
505901:	eb 09                	jmp    0x50590c
505903:	8b 49 40             	mov    0x40(%ecx),%ecx
505906:	8b 46 6c             	mov    0x6c(%esi),%eax
505909:	89 04 91             	mov    %eax,(%ecx,%edx,4)
50590c:	f6 47 04 08          	testb  $0x8,0x4(%edi)
505910:	74 10                	je     0x505922
505912:	68 78 af 6b 00       	push   $0x6baf78
505917:	53                   	push   %ebx
505918:	e8 43 d9 01 00       	call   0x523260
50591d:	83 c4 08             	add    $0x8,%esp
505920:	eb 28                	jmp    0x50594a
505922:	68 a4 af 6b 00       	push   $0x6bafa4
505927:	6a 01                	push   $0x1
505929:	53                   	push   %ebx
50592a:	c7 47 34 00 00 00 00 	movl   $0x0,0x34(%edi)
505931:	e8 aa 42 04 00       	call   0x549be0
505936:	8d 45 e4             	lea    -0x1c(%ebp),%eax
505939:	50                   	push   %eax
50593a:	57                   	push   %edi
50593b:	53                   	push   %ebx
50593c:	e8 5f 41 03 00       	call   0x539aa0
505941:	8b 45 c0             	mov    -0x40(%ebp),%eax
505944:	83 c4 18             	add    $0x18,%esp
505947:	89 47 34             	mov    %eax,0x34(%edi)
50594a:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50594d:	8b 55 d0             	mov    -0x30(%ebp),%edx
505950:	39 4e 70             	cmp    %ecx,0x70(%esi)
505953:	7f 12                	jg     0x505967
505955:	6a 00                	push   $0x0
505957:	52                   	push   %edx
505958:	6a 00                	push   $0x0
50595a:	6a 0b                	push   $0xb
50595c:	56                   	push   %esi
50595d:	e8 9e 0b 00 00       	call   0x506500
505962:	83 c4 14             	add    $0x14,%esp
505965:	eb 2f                	jmp    0x505996
505967:	8d 41 01             	lea    0x1(%ecx),%eax
50596a:	89 46 6c             	mov    %eax,0x6c(%esi)
50596d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505970:	8b 46 68             	mov    0x68(%esi),%eax
505973:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
50597a:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
505981:	00
505982:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
505986:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50598d:	00
50598e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505995:	00
505996:	8b 4e 0c             	mov    0xc(%esi),%ecx
505999:	8b 55 c8             	mov    -0x38(%ebp),%edx
50599c:	f7 d2                	not    %edx
50599e:	8b 41 3c             	mov    0x3c(%ecx),%eax
5059a1:	03 41 38             	add    0x38(%ecx),%eax
5059a4:	79 0d                	jns    0x5059b3
5059a6:	52                   	push   %edx
5059a7:	56                   	push   %esi
5059a8:	51                   	push   %ecx
5059a9:	e8 f2 dd 00 00       	call   0x5137a0
5059ae:	83 c4 0c             	add    $0xc,%esp
5059b1:	eb 09                	jmp    0x5059bc
5059b3:	8b 49 40             	mov    0x40(%ecx),%ecx
5059b6:	8b 46 6c             	mov    0x6c(%esi),%eax
5059b9:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5059bc:	8b 47 30             	mov    0x30(%edi),%eax
5059bf:	85 c0                	test   %eax,%eax
5059c1:	74 0b                	je     0x5059ce
5059c3:	50                   	push   %eax
5059c4:	ff 33                	push   (%ebx)
5059c6:	e8 35 b6 ff ff       	call   0x501000
5059cb:	83 c4 08             	add    $0x8,%esp
5059ce:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5059d1:	89 47 30             	mov    %eax,0x30(%edi)
5059d4:	8b 45 b0             	mov    -0x50(%ebp),%eax
5059d7:	89 47 3c             	mov    %eax,0x3c(%edi)
5059da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5059dd:	5f                   	pop    %edi
5059de:	5e                   	pop    %esi
5059df:	33 cd                	xor    %ebp,%ecx
5059e1:	5b                   	pop    %ebx
5059e2:	e8 f3 ba 0d 00       	call   0x5e14da
5059e7:	8b e5                	mov    %ebp,%esp
5059e9:	5d                   	pop    %ebp
5059ea:	c3                   	ret
5059eb:	cc                   	int3
5059ec:	cc                   	int3
5059ed:	cc                   	int3
5059ee:	cc                   	int3
5059ef:	cc                   	int3
5059f0:	55                   	push   %ebp
5059f1:	8b ec                	mov    %esp,%ebp
5059f3:	83 ec 0c             	sub    $0xc,%esp
5059f6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5059fb:	33 c5                	xor    %ebp,%eax
5059fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
505a00:	8b 45 08             	mov    0x8(%ebp),%eax
505a03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
505a06:	53                   	push   %ebx
505a07:	8b 5d 10             	mov    0x10(%ebp),%ebx
505a0a:	56                   	push   %esi
505a0b:	8b 75 14             	mov    0x14(%ebp),%esi
505a0e:	57                   	push   %edi
505a0f:	89 45 f4             	mov    %eax,-0xc(%ebp)
505a12:	3b 48 2c             	cmp    0x2c(%eax),%ecx
505a15:	76 48                	jbe    0x505a5f
505a17:	68 fc c4 6b 00       	push   $0x6bc4fc
505a1c:	68 e0 02 01 00       	push   $0x102e0
505a21:	68 94 c4 6b 00       	push   $0x6bc494
505a26:	68 78 c4 6b 00       	push   $0x6bc478
505a2b:	6a 0b                	push   $0xb
505a2d:	e8 ae a5 fd ff       	call   0x4dffe0
505a32:	83 c4 14             	add    $0x14,%esp
505a35:	bf 0b 00 00 00       	mov    $0xb,%edi
505a3a:	85 f6                	test   %esi,%esi
505a3c:	74 0e                	je     0x505a4c
505a3e:	fe 4e 44             	decb   0x44(%esi)
505a41:	0f be 46 44          	movsbl 0x44(%esi),%eax
505a45:	8b 44 86 78          	mov    0x78(%esi,%eax,4),%eax
505a49:	89 46 74             	mov    %eax,0x74(%esi)
505a4c:	8b c7                	mov    %edi,%eax
505a4e:	5f                   	pop    %edi
505a4f:	5e                   	pop    %esi
505a50:	5b                   	pop    %ebx
505a51:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505a54:	33 cd                	xor    %ebp,%ecx
505a56:	e8 7f ba 0d 00       	call   0x5e14da
505a5b:	8b e5                	mov    %ebp,%esp
505a5d:	5d                   	pop    %ebp
505a5e:	c3                   	ret
505a5f:	ff 75 18             	push   0x18(%ebp)
505a62:	8b 00                	mov    (%eax),%eax
505a64:	8d 55 f8             	lea    -0x8(%ebp),%edx
505a67:	52                   	push   %edx
505a68:	51                   	push   %ecx
505a69:	50                   	push   %eax
505a6a:	8b 80 cc 00 00 00    	mov    0xcc(%eax),%eax
505a70:	ff d0                	call   *%eax
505a72:	8b f8                	mov    %eax,%edi
505a74:	83 c4 10             	add    $0x10,%esp
505a77:	85 ff                	test   %edi,%edi
505a79:	75 bf                	jne    0x505a3a
505a7b:	8b 7d f8             	mov    -0x8(%ebp),%edi
505a7e:	8b 47 08             	mov    0x8(%edi),%eax
505a81:	89 03                	mov    %eax,(%ebx)
505a83:	80 38 00             	cmpb   $0x0,(%eax)
505a86:	75 3a                	jne    0x505ac2
505a88:	8b 57 08             	mov    0x8(%edi),%edx
505a8b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
505a8e:	3b 4a 04             	cmp    0x4(%edx),%ecx
505a91:	74 1f                	je     0x505ab2
505a93:	8b 47 04             	mov    0x4(%edi),%eax
505a96:	83 f9 01             	cmp    $0x1,%ecx
505a99:	89 42 38             	mov    %eax,0x38(%edx)
505a9c:	8b 45 f4             	mov    -0xc(%ebp),%eax
505a9f:	89 42 34             	mov    %eax,0x34(%edx)
505aa2:	0f 95 c0             	setne  %al
505aa5:	fe c8                	dec    %al
505aa7:	89 7a 48             	mov    %edi,0x48(%edx)
505aaa:	24 64                	and    $0x64,%al
505aac:	89 4a 04             	mov    %ecx,0x4(%edx)
505aaf:	88 42 09             	mov    %al,0x9(%edx)
505ab2:	ff 33                	push   (%ebx)
505ab4:	e8 57 13 ff ff       	call   0x4f6e10
505ab9:	8b f8                	mov    %eax,%edi
505abb:	83 c4 04             	add    $0x4,%esp
505abe:	85 ff                	test   %edi,%edi
505ac0:	75 38                	jne    0x505afa
505ac2:	85 f6                	test   %esi,%esi
505ac4:	74 4c                	je     0x505b12
505ac6:	8b 03                	mov    (%ebx),%eax
505ac8:	66 83 78 18 01       	cmpw   $0x1,0x18(%eax)
505acd:	72 08                	jb     0x505ad7
505acf:	8a 40 02             	mov    0x2(%eax),%al
505ad2:	3a 46 45             	cmp    0x45(%esi),%al
505ad5:	74 3b                	je     0x505b12
505ad7:	68 fc c4 6b 00       	push   $0x6bc4fc
505adc:	68 f5 02 01 00       	push   $0x102f5
505ae1:	68 94 c4 6b 00       	push   $0x6bc494
505ae6:	68 78 c4 6b 00       	push   $0x6bc478
505aeb:	6a 0b                	push   $0xb
505aed:	e8 ee a4 fd ff       	call   0x4dffe0
505af2:	83 c4 14             	add    $0x14,%esp
505af5:	bf 0b 00 00 00       	mov    $0xb,%edi
505afa:	8b 03                	mov    (%ebx),%eax
505afc:	85 c0                	test   %eax,%eax
505afe:	0f 84 36 ff ff ff    	je     0x505a3a
505b04:	50                   	push   %eax
505b05:	e8 b6 c5 00 00       	call   0x5120c0
505b0a:	83 c4 04             	add    $0x4,%esp
505b0d:	e9 28 ff ff ff       	jmp    0x505a3a
505b12:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505b15:	33 c0                	xor    %eax,%eax
505b17:	5f                   	pop    %edi
505b18:	5e                   	pop    %esi
505b19:	33 cd                	xor    %ebp,%ecx
505b1b:	5b                   	pop    %ebx
505b1c:	e8 b9 b9 0d 00       	call   0x5e14da
505b21:	8b e5                	mov    %ebp,%esp
505b23:	5d                   	pop    %ebp
505b24:	c3                   	ret
505b25:	cc                   	int3
505b26:	cc                   	int3
505b27:	cc                   	int3
505b28:	cc                   	int3
505b29:	cc                   	int3
505b2a:	cc                   	int3
505b2b:	cc                   	int3
505b2c:	cc                   	int3
505b2d:	cc                   	int3
505b2e:	cc                   	int3
505b2f:	cc                   	int3
505b30:	55                   	push   %ebp
505b31:	8b ec                	mov    %esp,%ebp
505b33:	51                   	push   %ecx
505b34:	56                   	push   %esi
505b35:	8b 75 08             	mov    0x8(%ebp),%esi
505b38:	68 50 cb 6a 00       	push   $0x6acb50
505b3d:	56                   	push   %esi
505b3e:	e8 ed 80 03 00       	call   0x53dc30
505b43:	83 c4 08             	add    $0x8,%esp
505b46:	85 c0                	test   %eax,%eax
505b48:	75 05                	jne    0x505b4f
505b4a:	5e                   	pop    %esi
505b4b:	8b e5                	mov    %ebp,%esp
505b4d:	5d                   	pop    %ebp
505b4e:	c3                   	ret
505b4f:	68 70 aa 6b 00       	push   $0x6baa70
505b54:	56                   	push   %esi
505b55:	e8 d6 80 03 00       	call   0x53dc30
505b5a:	83 c4 08             	add    $0x8,%esp
505b5d:	85 c0                	test   %eax,%eax
505b5f:	75 0a                	jne    0x505b6b
505b61:	b8 01 00 00 00       	mov    $0x1,%eax
505b66:	5e                   	pop    %esi
505b67:	8b e5                	mov    %ebp,%esp
505b69:	5d                   	pop    %ebp
505b6a:	c3                   	ret
505b6b:	68 78 aa 6b 00       	push   $0x6baa78
505b70:	56                   	push   %esi
505b71:	e8 ba 80 03 00       	call   0x53dc30
505b76:	83 c4 08             	add    $0x8,%esp
505b79:	85 c0                	test   %eax,%eax
505b7b:	75 0a                	jne    0x505b87
505b7d:	b8 02 00 00 00       	mov    $0x2,%eax
505b82:	5e                   	pop    %esi
505b83:	8b e5                	mov    %ebp,%esp
505b85:	5d                   	pop    %ebp
505b86:	c3                   	ret
505b87:	33 c9                	xor    %ecx,%ecx
505b89:	89 4d fc             	mov    %ecx,-0x4(%ebp)
505b8c:	85 f6                	test   %esi,%esi
505b8e:	74 10                	je     0x505ba0
505b90:	8d 45 fc             	lea    -0x4(%ebp),%eax
505b93:	50                   	push   %eax
505b94:	56                   	push   %esi
505b95:	e8 06 72 02 00       	call   0x52cda0
505b9a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505b9d:	83 c4 08             	add    $0x8,%esp
505ba0:	33 c0                	xor    %eax,%eax
505ba2:	83 f9 02             	cmp    $0x2,%ecx
505ba5:	5e                   	pop    %esi
505ba6:	0f 46 c1             	cmovbe %ecx,%eax
505ba9:	0f b6 c0             	movzbl %al,%eax
505bac:	8b e5                	mov    %ebp,%esp
505bae:	5d                   	pop    %ebp
505baf:	c3                   	ret
505bb0:	55                   	push   %ebp
505bb1:	8b ec                	mov    %esp,%ebp
505bb3:	8b 4d 08             	mov    0x8(%ebp),%ecx
505bb6:	66 83 79 32 00       	cmpw   $0x0,0x32(%ecx)
505bbb:	75 30                	jne    0x505bed
505bbd:	8b 51 74             	mov    0x74(%ecx),%edx
505bc0:	8d 41 20             	lea    0x20(%ecx),%eax
505bc3:	80 49 01 02          	orb    $0x2,0x1(%ecx)
505bc7:	0f b7 49 46          	movzwl 0x46(%ecx),%ecx
505bcb:	50                   	push   %eax
505bcc:	8b 42 40             	mov    0x40(%edx),%eax
505bcf:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
505bd3:	8a e8                	mov    %al,%ch
505bd5:	8a cc                	mov    %ah,%cl
505bd7:	0f b7 42 1a          	movzwl 0x1a(%edx),%eax
505bdb:	0f b7 c9             	movzwl %cx,%ecx
505bde:	23 c8                	and    %eax,%ecx
505be0:	8b 42 50             	mov    0x50(%edx),%eax
505be3:	03 4a 38             	add    0x38(%edx),%ecx
505be6:	51                   	push   %ecx
505be7:	52                   	push   %edx
505be8:	ff d0                	call   *%eax
505bea:	83 c4 0c             	add    $0xc,%esp
505bed:	5d                   	pop    %ebp
505bee:	c3                   	ret
505bef:	cc                   	int3
505bf0:	55                   	push   %ebp
505bf1:	8b ec                	mov    %esp,%ebp
505bf3:	83 ec 10             	sub    $0x10,%esp
505bf6:	53                   	push   %ebx
505bf7:	56                   	push   %esi
505bf8:	8b 75 08             	mov    0x8(%ebp),%esi