512823:	83 c4 0c             	add    $0xc,%esp
512826:	eb 08                	jmp    0x512830
512828:	e8 33 e7 01 00       	call   0x530f60
51282d:	83 c4 08             	add    $0x8,%esp
512830:	89 45 fc             	mov    %eax,-0x4(%ebp)
512833:	85 c0                	test   %eax,%eax
512835:	0f 84 5e 01 00 00    	je     0x512999
51283b:	56                   	push   %esi
51283c:	6a 00                	push   $0x0
51283e:	50                   	push   %eax
51283f:	e8 bc 11 0d 00       	call   0x5e3a00
512844:	57                   	push   %edi
512845:	ff 75 10             	push   0x10(%ebp)
512848:	ff 75 fc             	push   -0x4(%ebp)
51284b:	e8 b0 06 0d 00       	call   0x5e2f00
512850:	8b 45 0c             	mov    0xc(%ebp),%eax
512853:	83 c4 18             	add    $0x18,%esp
512856:	8b 10                	mov    (%eax),%edx
512858:	85 d2                	test   %edx,%edx
51285a:	0f 84 ce 00 00 00    	je     0x51292e
512860:	8b f2                	mov    %edx,%esi
512862:	8b 4e 0c             	mov    0xc(%esi),%ecx
512865:	85 c9                	test   %ecx,%ecx
512867:	74 1a                	je     0x512883
512869:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
512870:	8b 41 04             	mov    0x4(%ecx),%eax
512873:	3b 46 04             	cmp    0x4(%esi),%eax
512876:	0f 47 f1             	cmova  %ecx,%esi
512879:	8b 49 0c             	mov    0xc(%ecx),%ecx
51287c:	85 c9                	test   %ecx,%ecx
51287e:	75 f0                	jne    0x512870
512880:	8b 45 0c             	mov    0xc(%ebp),%eax
512883:	8b c8                	mov    %eax,%ecx
512885:	3b d6                	cmp    %esi,%edx
512887:	74 10                	je     0x512899
512889:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
512890:	8d 4a 0c             	lea    0xc(%edx),%ecx
512893:	8b 11                	mov    (%ecx),%edx
512895:	3b d6                	cmp    %esi,%edx
512897:	75 f7                	jne    0x512890
512899:	8b 46 0c             	mov    0xc(%esi),%eax
51289c:	89 01                	mov    %eax,(%ecx)
51289e:	8b 4e 04             	mov    0x4(%esi),%ecx
5128a1:	0f b6 01             	movzbl (%ecx),%eax
5128a4:	f6 80 40 1b 6b 00 46 	testb  $0x46,0x6b1b40(%eax)
5128ab:	74 0a                	je     0x5128b7
5128ad:	8b 45 14             	mov    0x14(%ebp),%eax
5128b0:	8b d3                	mov    %ebx,%edx
5128b2:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5128b5:	eb 09                	jmp    0x5128c0
5128b7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5128ba:	8b 45 ec             	mov    -0x14(%ebp),%eax
5128bd:	89 55 f8             	mov    %edx,-0x8(%ebp)
5128c0:	2b 4d 10             	sub    0x10(%ebp),%ecx
5128c3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5128c6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5128c9:	39 56 08             	cmp    %edx,0x8(%esi)
5128cc:	74 38                	je     0x512906
5128ce:	8b c7                	mov    %edi,%eax
5128d0:	2b 46 08             	sub    0x8(%esi),%eax
5128d3:	2b c1                	sub    %ecx,%eax
5128d5:	50                   	push   %eax
5128d6:	8b 46 08             	mov    0x8(%esi),%eax
5128d9:	03 45 fc             	add    -0x4(%ebp),%eax
5128dc:	03 c1                	add    %ecx,%eax
5128de:	50                   	push   %eax
5128df:	8b 45 fc             	mov    -0x4(%ebp),%eax
5128e2:	03 c1                	add    %ecx,%eax
5128e4:	03 45 f8             	add    -0x8(%ebp),%eax
5128e7:	50                   	push   %eax
5128e8:	e8 93 0b 0d 00       	call   0x5e3480
5128ed:	8b 55 f8             	mov    -0x8(%ebp),%edx
5128f0:	83 c4 0c             	add    $0xc,%esp
5128f3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5128f6:	8b c2                	mov    %edx,%eax
5128f8:	2b 46 08             	sub    0x8(%esi),%eax
5128fb:	03 f8                	add    %eax,%edi
5128fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
512900:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
512904:	eb 03                	jmp    0x512909
512906:	8b 45 fc             	mov    -0x4(%ebp),%eax
512909:	52                   	push   %edx
51290a:	ff 75 f0             	push   -0x10(%ebp)
51290d:	03 c1                	add    %ecx,%eax
51290f:	50                   	push   %eax
512910:	e8 eb 05 0d 00       	call   0x5e2f00
512915:	56                   	push   %esi
512916:	ff 75 f4             	push   -0xc(%ebp)
512919:	e8 52 ea 00 00       	call   0x521370
51291e:	8b 45 0c             	mov    0xc(%ebp),%eax
512921:	83 c4 14             	add    $0x14,%esp
512924:	8b 10                	mov    (%eax),%edx
512926:	85 d2                	test   %edx,%edx
512928:	0f 85 32 ff ff ff    	jne    0x512860
51292e:	8b 75 08             	mov    0x8(%ebp),%esi
512931:	8b 5d fc             	mov    -0x4(%ebp),%ebx
512934:	6a ff                	push   $0xffffffff
512936:	6a 01                	push   $0x1
512938:	6a ff                	push   $0xffffffff
51293a:	53                   	push   %ebx
51293b:	ff 36                	push   (%esi)
51293d:	e8 9e 91 03 00       	call   0x54bae0
512942:	83 c4 14             	add    $0x14,%esp
512945:	83 f8 12             	cmp    $0x12,%eax
512948:	75 41                	jne    0x51298b
51294a:	89 46 14             	mov    %eax,0x14(%esi)
51294d:	b8 00 24 00 00       	mov    $0x2400,%eax
512952:	8b 36                	mov    (%esi),%esi
512954:	66 85 46 08          	test   %ax,0x8(%esi)
512958:	75 06                	jne    0x512960
51295a:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
51295e:	74 09                	je     0x512969
512960:	56                   	push   %esi
512961:	e8 aa 84 04 00       	call   0x55ae10
512966:	83 c4 04             	add    $0x4,%esp
512969:	b8 02 0a 00 00       	mov    $0xa02,%eax
51296e:	c7 46 10 00 88 6b 00 	movl   $0x6b8800,0x10(%esi)
512975:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
51297c:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
512983:	66 89 46 08          	mov    %ax,0x8(%esi)
512987:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
51298b:	53                   	push   %ebx
51298c:	ff 75 f4             	push   -0xc(%ebp)
51298f:	e8 dc e9 00 00       	call   0x521370
512994:	83 c4 08             	add    $0x8,%esp
512997:	eb 07                	jmp    0x5129a0
512999:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
5129a0:	ff 75 ec             	push   -0x14(%ebp)
5129a3:	e8 e8 83 fd ff       	call   0x4ead90
5129a8:	8b 45 e8             	mov    -0x18(%ebp),%eax
5129ab:	83 c4 04             	add    $0x4,%esp
5129ae:	5f                   	pop    %edi
5129af:	5e                   	pop    %esi
5129b0:	5b                   	pop    %ebx
5129b1:	8b e5                	mov    %ebp,%esp
5129b3:	5d                   	pop    %ebp
5129b4:	c3                   	ret
5129b5:	cc                   	int3
5129b6:	cc                   	int3
5129b7:	cc                   	int3
5129b8:	cc                   	int3
5129b9:	cc                   	int3
5129ba:	cc                   	int3
5129bb:	cc                   	int3
5129bc:	cc                   	int3
5129bd:	cc                   	int3
5129be:	cc                   	int3
5129bf:	cc                   	int3
5129c0:	55                   	push   %ebp
5129c1:	8b ec                	mov    %esp,%ebp
5129c3:	53                   	push   %ebx
5129c4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5129c7:	56                   	push   %esi
5129c8:	8b 43 08             	mov    0x8(%ebx),%eax
5129cb:	8b 33                	mov    (%ebx),%esi
5129cd:	85 c0                	test   %eax,%eax
5129cf:	74 09                	je     0x5129da
5129d1:	50                   	push   %eax
5129d2:	e8 b9 72 03 00       	call   0x549c90
5129d7:	83 c4 04             	add    $0x4,%esp
5129da:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
5129e0:	85 c0                	test   %eax,%eax
5129e2:	74 1d                	je     0x512a01
5129e4:	85 f6                	test   %esi,%esi
5129e6:	74 09                	je     0x5129f1
5129e8:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
5129ef:	75 06                	jne    0x5129f7
5129f1:	83 40 20 ff          	addl   $0xffffffff,0x20(%eax)
5129f5:	75 0a                	jne    0x512a01
5129f7:	50                   	push   %eax
5129f8:	56                   	push   %esi
5129f9:	e8 02 af fe ff       	call   0x4fd900
5129fe:	83 c4 08             	add    $0x8,%esp
512a01:	57                   	push   %edi
512a02:	8b bb e8 00 00 00    	mov    0xe8(%ebx),%edi
512a08:	85 ff                	test   %edi,%edi
512a0a:	0f 84 00 02 00 00    	je     0x512c10
512a10:	8b 47 14             	mov    0x14(%edi),%eax
512a13:	89 83 e8 00 00 00    	mov    %eax,0xe8(%ebx)
512a19:	8b 47 24             	mov    0x24(%edi),%eax
512a1c:	85 c0                	test   %eax,%eax
512a1e:	74 0a                	je     0x512a2a
512a20:	50                   	push   %eax
512a21:	56                   	push   %esi
512a22:	e8 89 3d 01 00       	call   0x5267b0
512a27:	83 c4 08             	add    $0x8,%esp
512a2a:	8b 47 28             	mov    0x28(%edi),%eax
512a2d:	85 c0                	test   %eax,%eax
512a2f:	74 0a                	je     0x512a3b
512a31:	50                   	push   %eax
512a32:	56                   	push   %esi
512a33:	e8 c8 e5 fe ff       	call   0x501000
512a38:	83 c4 08             	add    $0x8,%esp
512a3b:	8b 5f 10             	mov    0x10(%edi),%ebx
512a3e:	85 db                	test   %ebx,%ebx
512a40:	0f 84 a9 00 00 00    	je     0x512aef
512a46:	85 f6                	test   %esi,%esi
512a48:	74 50                	je     0x512a9a
512a4a:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512a51:	74 0f                	je     0x512a62
512a53:	53                   	push   %ebx
512a54:	56                   	push   %esi
512a55:	e8 16 6a ff ff       	call   0x509470
512a5a:	83 c4 08             	add    $0x8,%esp
512a5d:	e9 8d 00 00 00       	jmp    0x512aef
512a62:	3b 9e 4c 01 00 00    	cmp    0x14c(%esi),%ebx
512a68:	73 30                	jae    0x512a9a
512a6a:	3b 9e 44 01 00 00    	cmp    0x144(%esi),%ebx
512a70:	72 10                	jb     0x512a82
512a72:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512a78:	89 03                	mov    %eax,(%ebx)
512a7a:	89 9e 40 01 00 00    	mov    %ebx,0x140(%esi)
512a80:	eb 6d                	jmp    0x512aef
512a82:	3b 9e 48 01 00 00    	cmp    0x148(%esi),%ebx
512a88:	72 10                	jb     0x512a9a
512a8a:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512a90:	89 03                	mov    %eax,(%ebx)
512a92:	89 9e 38 01 00 00    	mov    %ebx,0x138(%esi)
512a98:	eb 55                	jmp    0x512aef
512a9a:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
512aa1:	74 42                	je     0x512ae5
512aa3:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512aa8:	85 c0                	test   %eax,%eax
512aaa:	74 0a                	je     0x512ab6
512aac:	50                   	push   %eax
512aad:	ff 15 60 18 72 00    	call   *0x721860
512ab3:	83 c4 04             	add    $0x4,%esp
512ab6:	53                   	push   %ebx
512ab7:	ff 15 3c 18 72 00    	call   *0x72183c
512abd:	29 05 20 00 73 00    	sub    %eax,0x730020
512ac3:	ff 0d 44 00 73 00    	decl   0x730044
512ac9:	53                   	push   %ebx
512aca:	ff 15 34 18 72 00    	call   *0x721834
512ad0:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512ad5:	83 c4 08             	add    $0x8,%esp
512ad8:	85 c0                	test   %eax,%eax
512ada:	74 13                	je     0x512aef
512adc:	50                   	push   %eax
512add:	ff 15 68 18 72 00    	call   *0x721868
512ae3:	eb 07                	jmp    0x512aec
512ae5:	53                   	push   %ebx
512ae6:	ff 15 34 18 72 00    	call   *0x721834
512aec:	83 c4 04             	add    $0x4,%esp
512aef:	f6 47 38 10          	testb  $0x10,0x38(%edi)
512af3:	74 61                	je     0x512b56
512af5:	8b 4f 20             	mov    0x20(%edi),%ecx
512af8:	85 c9                	test   %ecx,%ecx
512afa:	74 5a                	je     0x512b56
512afc:	85 f6                	test   %esi,%esi
512afe:	74 4d                	je     0x512b4d
512b00:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512b07:	74 0c                	je     0x512b15
512b09:	51                   	push   %ecx
512b0a:	56                   	push   %esi
512b0b:	e8 60 69 ff ff       	call   0x509470
512b10:	83 c4 08             	add    $0x8,%esp
512b13:	eb 41                	jmp    0x512b56
512b15:	3b 8e 4c 01 00 00    	cmp    0x14c(%esi),%ecx
512b1b:	73 30                	jae    0x512b4d
512b1d:	3b 8e 44 01 00 00    	cmp    0x144(%esi),%ecx
512b23:	72 10                	jb     0x512b35
512b25:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512b2b:	89 01                	mov    %eax,(%ecx)
512b2d:	89 8e 40 01 00 00    	mov    %ecx,0x140(%esi)
512b33:	eb 21                	jmp    0x512b56
512b35:	3b 8e 48 01 00 00    	cmp    0x148(%esi),%ecx
512b3b:	72 10                	jb     0x512b4d
512b3d:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512b43:	89 01                	mov    %eax,(%ecx)
512b45:	89 8e 38 01 00 00    	mov    %ecx,0x138(%esi)
512b4b:	eb 09                	jmp    0x512b56
512b4d:	51                   	push   %ecx
512b4e:	e8 3d 82 fd ff       	call   0x4ead90
512b53:	83 c4 04             	add    $0x4,%esp
512b56:	85 f6                	test   %esi,%esi
512b58:	74 50                	je     0x512baa
512b5a:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512b61:	74 0f                	je     0x512b72
512b63:	57                   	push   %edi
512b64:	56                   	push   %esi
512b65:	e8 06 69 ff ff       	call   0x509470
512b6a:	83 c4 08             	add    $0x8,%esp
512b6d:	e9 8d 00 00 00       	jmp    0x512bff
512b72:	3b be 4c 01 00 00    	cmp    0x14c(%esi),%edi
512b78:	73 30                	jae    0x512baa
512b7a:	3b be 44 01 00 00    	cmp    0x144(%esi),%edi
512b80:	72 10                	jb     0x512b92
512b82:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512b88:	89 07                	mov    %eax,(%edi)
512b8a:	89 be 40 01 00 00    	mov    %edi,0x140(%esi)
512b90:	eb 6d                	jmp    0x512bff
512b92:	3b be 48 01 00 00    	cmp    0x148(%esi),%edi
512b98:	72 10                	jb     0x512baa
512b9a:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512ba0:	89 07                	mov    %eax,(%edi)
512ba2:	89 be 38 01 00 00    	mov    %edi,0x138(%esi)
512ba8:	eb 55                	jmp    0x512bff
512baa:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
512bb1:	74 42                	je     0x512bf5
512bb3:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512bb8:	85 c0                	test   %eax,%eax
512bba:	74 0a                	je     0x512bc6
512bbc:	50                   	push   %eax
512bbd:	ff 15 60 18 72 00    	call   *0x721860
512bc3:	83 c4 04             	add    $0x4,%esp
512bc6:	57                   	push   %edi
512bc7:	ff 15 3c 18 72 00    	call   *0x72183c
512bcd:	29 05 20 00 73 00    	sub    %eax,0x730020
512bd3:	ff 0d 44 00 73 00    	decl   0x730044
512bd9:	57                   	push   %edi
512bda:	ff 15 34 18 72 00    	call   *0x721834
512be0:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512be5:	83 c4 08             	add    $0x8,%esp
512be8:	85 c0                	test   %eax,%eax
512bea:	74 13                	je     0x512bff
512bec:	50                   	push   %eax
512bed:	ff 15 68 18 72 00    	call   *0x721868
512bf3:	eb 07                	jmp    0x512bfc
512bf5:	57                   	push   %edi
512bf6:	ff 15 34 18 72 00    	call   *0x721834
512bfc:	83 c4 04             	add    $0x4,%esp
512bff:	8b 5d 08             	mov    0x8(%ebp),%ebx
512c02:	8b bb e8 00 00 00    	mov    0xe8(%ebx),%edi
512c08:	85 ff                	test   %edi,%edi
512c0a:	0f 85 00 fe ff ff    	jne    0x512a10
512c10:	ff b3 ec 00 00 00    	push   0xec(%ebx)
512c16:	56                   	push   %esi
512c17:	e8 d4 f5 00 00       	call   0x5221f0
512c1c:	8b 43 04             	mov    0x4(%ebx),%eax
512c1f:	83 c4 08             	add    $0x8,%esp
512c22:	5f                   	pop    %edi
512c23:	85 c0                	test   %eax,%eax
512c25:	74 0a                	je     0x512c31
512c27:	50                   	push   %eax
512c28:	56                   	push   %esi
512c29:	e8 42 e7 00 00       	call   0x521370
512c2e:	83 c4 08             	add    $0x8,%esp
512c31:	ff b3 10 01 00 00    	push   0x110(%ebx)
512c37:	56                   	push   %esi
512c38:	e8 83 04 00 00       	call   0x5130c0
512c3d:	53                   	push   %ebx
512c3e:	e8 3d 14 02 00       	call   0x534080
512c43:	83 c4 0c             	add    $0xc,%esp
512c46:	5e                   	pop    %esi
512c47:	5b                   	pop    %ebx
512c48:	5d                   	pop    %ebp
512c49:	c3                   	ret
512c4a:	cc                   	int3
512c4b:	cc                   	int3
512c4c:	cc                   	int3