53882a:	72 10                	jb     0x53883c
53882c:	8b 81 38 01 00 00    	mov    0x138(%ecx),%eax
538832:	89 06                	mov    %eax,(%esi)
538834:	89 b1 38 01 00 00    	mov    %esi,0x138(%ecx)
53883a:	eb 55                	jmp    0x538891
53883c:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
538843:	74 42                	je     0x538887
538845:	a1 90 ff 72 00       	mov    0x72ff90,%eax
53884a:	85 c0                	test   %eax,%eax
53884c:	74 0a                	je     0x538858
53884e:	50                   	push   %eax
53884f:	ff 15 60 18 72 00    	call   *0x721860
538855:	83 c4 04             	add    $0x4,%esp
538858:	56                   	push   %esi
538859:	ff 15 3c 18 72 00    	call   *0x72183c
53885f:	29 05 20 00 73 00    	sub    %eax,0x730020
538865:	ff 0d 44 00 73 00    	decl   0x730044
53886b:	56                   	push   %esi
53886c:	ff 15 34 18 72 00    	call   *0x721834
538872:	a1 90 ff 72 00       	mov    0x72ff90,%eax
538877:	83 c4 08             	add    $0x8,%esp
53887a:	85 c0                	test   %eax,%eax
53887c:	74 13                	je     0x538891
53887e:	50                   	push   %eax
53887f:	ff 15 68 18 72 00    	call   *0x721868
538885:	eb 07                	jmp    0x53888e
538887:	56                   	push   %esi
538888:	ff 15 34 18 72 00    	call   *0x721834
53888e:	83 c4 04             	add    $0x4,%esp
538891:	8b f3                	mov    %ebx,%esi
538893:	85 db                	test   %ebx,%ebx
538895:	0f 85 48 ff ff ff    	jne    0x5387e3
53889b:	5b                   	pop    %ebx
53889c:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5388a2:	c7 47 18 00 00 01 00 	movl   $0x10000,0x18(%edi)
5388a9:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5388b0:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
5388b7:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
5388be:	5f                   	pop    %edi
5388bf:	5e                   	pop    %esi
5388c0:	5d                   	pop    %ebp
5388c1:	c3                   	ret
5388c2:	cc                   	int3
5388c3:	cc                   	int3
5388c4:	cc                   	int3
5388c5:	cc                   	int3
5388c6:	cc                   	int3
5388c7:	cc                   	int3
5388c8:	cc                   	int3
5388c9:	cc                   	int3
5388ca:	cc                   	int3
5388cb:	cc                   	int3
5388cc:	cc                   	int3
5388cd:	cc                   	int3
5388ce:	cc                   	int3
5388cf:	cc                   	int3
5388d0:	55                   	push   %ebp
5388d1:	8b ec                	mov    %esp,%ebp
5388d3:	56                   	push   %esi
5388d4:	8b 75 08             	mov    0x8(%ebp),%esi
5388d7:	56                   	push   %esi
5388d8:	e8 f3 fe ff ff       	call   0x5387d0
5388dd:	83 c4 04             	add    $0x4,%esp
5388e0:	85 f6                	test   %esi,%esi
5388e2:	74 0c                	je     0x5388f0
5388e4:	56                   	push   %esi
5388e5:	ff 76 04             	push   0x4(%esi)
5388e8:	e8 83 8a fe ff       	call   0x521370
5388ed:	83 c4 08             	add    $0x8,%esp
5388f0:	5e                   	pop    %esi
5388f1:	5d                   	pop    %ebp
5388f2:	c3                   	ret
5388f3:	cc                   	int3
5388f4:	cc                   	int3
5388f5:	cc                   	int3
5388f6:	cc                   	int3
5388f7:	cc                   	int3
5388f8:	cc                   	int3
5388f9:	cc                   	int3
5388fa:	cc                   	int3
5388fb:	cc                   	int3
5388fc:	cc                   	int3
5388fd:	cc                   	int3
5388fe:	cc                   	int3
5388ff:	cc                   	int3
538900:	55                   	push   %ebp
538901:	8b ec                	mov    %esp,%ebp
538903:	56                   	push   %esi
538904:	57                   	push   %edi
538905:	8b 7d 08             	mov    0x8(%ebp),%edi
538908:	6a 00                	push   $0x0
53890a:	6a 20                	push   $0x20
53890c:	57                   	push   %edi
53890d:	e8 ce 8a fe ff       	call   0x5213e0
538912:	8b f0                	mov    %eax,%esi
538914:	83 c4 0c             	add    $0xc,%esp
538917:	85 f6                	test   %esi,%esi
538919:	74 76                	je     0x538991
53891b:	85 ff                	test   %edi,%edi
53891d:	74 28                	je     0x538947
53891f:	3b b7 4c 01 00 00    	cmp    0x14c(%edi),%esi
538925:	73 20                	jae    0x538947
538927:	3b b7 44 01 00 00    	cmp    0x144(%edi),%esi
53892d:	72 07                	jb     0x538936
53892f:	b8 80 00 00 00       	mov    $0x80,%eax
538934:	eb 1b                	jmp    0x538951
538936:	3b b7 48 01 00 00    	cmp    0x148(%edi),%esi
53893c:	72 09                	jb     0x538947
53893e:	0f b7 87 1e 01 00 00 	movzwl 0x11e(%edi),%eax
538945:	eb 0a                	jmp    0x538951
538947:	56                   	push   %esi
538948:	ff 15 3c 18 72 00    	call   *0x72183c
53894e:	83 c4 04             	add    $0x4,%esp
538951:	83 c0 e0             	add    $0xffffffe0,%eax
538954:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
53895a:	c1 e8 04             	shr    $0x4,%eax
53895d:	8d 4e 20             	lea    0x20(%esi),%ecx
538960:	66 89 46 18          	mov    %ax,0x18(%esi)
538964:	b8 01 00 00 00       	mov    $0x1,%eax
538969:	66 89 46 1a          	mov    %ax,0x1a(%esi)
53896d:	8b c6                	mov    %esi,%eax
53896f:	89 7e 04             	mov    %edi,0x4(%esi)
538972:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
538979:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
538980:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
538987:	89 4e 10             	mov    %ecx,0x10(%esi)
53898a:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
538991:	5f                   	pop    %edi
538992:	5e                   	pop    %esi
538993:	5d                   	pop    %ebp
538994:	c3                   	ret
538995:	cc                   	int3
538996:	cc                   	int3
538997:	cc                   	int3
538998:	cc                   	int3
538999:	cc                   	int3
53899a:	cc                   	int3
53899b:	cc                   	int3
53899c:	cc                   	int3
53899d:	cc                   	int3
53899e:	cc                   	int3
53899f:	cc                   	int3
5389a0:	55                   	push   %ebp
5389a1:	8b ec                	mov    %esp,%ebp
5389a3:	56                   	push   %esi
5389a4:	8b 75 08             	mov    0x8(%ebp),%esi
5389a7:	66 83 7e 18 00       	cmpw   $0x0,0x18(%esi)
5389ac:	75 2b                	jne    0x5389d9
5389ae:	6a 00                	push   $0x0
5389b0:	68 f8 03 00 00       	push   $0x3f8
5389b5:	ff 76 04             	push   0x4(%esi)
5389b8:	e8 23 8a fe ff       	call   0x5213e0
5389bd:	83 c4 0c             	add    $0xc,%esp
5389c0:	85 c0                	test   %eax,%eax
5389c2:	74 6a                	je     0x538a2e
5389c4:	8b 0e                	mov    (%esi),%ecx
5389c6:	89 08                	mov    %ecx,(%eax)
5389c8:	89 06                	mov    %eax,(%esi)
5389ca:	83 c0 08             	add    $0x8,%eax
5389cd:	89 46 10             	mov    %eax,0x10(%esi)
5389d0:	b8 3f 00 00 00       	mov    $0x3f,%eax
5389d5:	66 89 46 18          	mov    %ax,0x18(%esi)
5389d9:	8b 4e 10             	mov    0x10(%esi),%ecx
5389dc:	b8 ff ff 00 00       	mov    $0xffff,%eax
5389e1:	66 01 46 18          	add    %ax,0x18(%esi)
5389e5:	8d 41 10             	lea    0x10(%ecx),%eax
5389e8:	89 46 10             	mov    %eax,0x10(%esi)
5389eb:	85 c9                	test   %ecx,%ecx
5389ed:	74 3f                	je     0x538a2e
5389ef:	8b 55 10             	mov    0x10(%ebp),%edx
5389f2:	57                   	push   %edi
5389f3:	8b 7d 0c             	mov    0xc(%ebp),%edi
5389f6:	89 39                	mov    %edi,(%ecx)
5389f8:	89 51 04             	mov    %edx,0x4(%ecx)
5389fb:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
538a02:	8b 46 0c             	mov    0xc(%esi),%eax
538a05:	85 c0                	test   %eax,%eax
538a07:	74 1e                	je     0x538a27
538a09:	3b 50 04             	cmp    0x4(%eax),%edx
538a0c:	7f 0f                	jg     0x538a1d
538a0e:	7c 04                	jl     0x538a14
538a10:	3b 38                	cmp    (%eax),%edi
538a12:	77 09                	ja     0x538a1d
538a14:	ba fe ff 00 00       	mov    $0xfffe,%edx
538a19:	66 21 56 1a          	and    %dx,0x1a(%esi)
538a1d:	89 48 08             	mov    %ecx,0x8(%eax)
538a20:	5f                   	pop    %edi
538a21:	89 4e 0c             	mov    %ecx,0xc(%esi)
538a24:	5e                   	pop    %esi
538a25:	5d                   	pop    %ebp
538a26:	c3                   	ret
538a27:	89 4e 08             	mov    %ecx,0x8(%esi)
538a2a:	89 4e 0c             	mov    %ecx,0xc(%esi)
538a2d:	5f                   	pop    %edi
538a2e:	5e                   	pop    %esi
538a2f:	5d                   	pop    %ebp
538a30:	c3                   	ret
538a31:	cc                   	int3
538a32:	cc                   	int3
538a33:	cc                   	int3
538a34:	cc                   	int3
538a35:	cc                   	int3
538a36:	cc                   	int3
538a37:	cc                   	int3
538a38:	cc                   	int3
538a39:	cc                   	int3
538a3a:	cc                   	int3
538a3b:	cc                   	int3
538a3c:	cc                   	int3
538a3d:	cc                   	int3
538a3e:	cc                   	int3
538a3f:	cc                   	int3
538a40:	55                   	push   %ebp
538a41:	8b ec                	mov    %esp,%ebp
538a43:	56                   	push   %esi
538a44:	8b 75 08             	mov    0x8(%ebp),%esi
538a47:	0f b7 46 1a          	movzwl 0x1a(%esi),%eax
538a4b:	a8 02                	test   $0x2,%al
538a4d:	75 17                	jne    0x538a66
538a4f:	a8 01                	test   $0x1,%al
538a51:	75 0e                	jne    0x538a61
538a53:	ff 76 08             	push   0x8(%esi)
538a56:	e8 55 c3 fd ff       	call   0x514db0
538a5b:	83 c4 04             	add    $0x4,%esp
538a5e:	89 46 08             	mov    %eax,0x8(%esi)
538a61:	66 83 4e 1a 03       	orw    $0x3,0x1a(%esi)
538a66:	8b 56 08             	mov    0x8(%esi),%edx
538a69:	85 d2                	test   %edx,%edx
538a6b:	74 2b                	je     0x538a98
538a6d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
538a70:	8b 02                	mov    (%edx),%eax
538a72:	89 01                	mov    %eax,(%ecx)
538a74:	8b 42 04             	mov    0x4(%edx),%eax
538a77:	89 41 04             	mov    %eax,0x4(%ecx)
538a7a:	8b 46 08             	mov    0x8(%esi),%eax
538a7d:	8b 40 08             	mov    0x8(%eax),%eax
538a80:	89 46 08             	mov    %eax,0x8(%esi)
538a83:	85 c0                	test   %eax,%eax
538a85:	75 09                	jne    0x538a90
538a87:	56                   	push   %esi
538a88:	e8 43 fd ff ff       	call   0x5387d0
538a8d:	83 c4 04             	add    $0x4,%esp
538a90:	b8 01 00 00 00       	mov    $0x1,%eax
538a95:	5e                   	pop    %esi
538a96:	5d                   	pop    %ebp
538a97:	c3                   	ret
538a98:	33 c0                	xor    %eax,%eax
538a9a:	5e                   	pop    %esi
538a9b:	5d                   	pop    %ebp
538a9c:	c3                   	ret
538a9d:	cc                   	int3
538a9e:	cc                   	int3
538a9f:	cc                   	int3
538aa0:	55                   	push   %ebp
538aa1:	8b ec                	mov    %esp,%ebp
538aa3:	83 ec 10             	sub    $0x10,%esp
538aa6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
538aab:	33 c5                	xor    %ebp,%eax
538aad:	89 45 fc             	mov    %eax,-0x4(%ebp)
538ab0:	8b 45 0c             	mov    0xc(%ebp),%eax
538ab3:	53                   	push   %ebx
538ab4:	56                   	push   %esi
538ab5:	8b 75 08             	mov    0x8(%ebp),%esi
538ab8:	57                   	push   %edi
538ab9:	3b 46 1c             	cmp    0x1c(%esi),%eax
538abc:	0f 84 f4 00 00 00    	je     0x538bb6
538ac2:	8b 4e 08             	mov    0x8(%esi),%ecx
538ac5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
538ac8:	85 c9                	test   %ecx,%ecx
538aca:	0f 84 e3 00 00 00    	je     0x538bb3
538ad0:	f6 46 1a 01          	testb  $0x1,0x1a(%esi)
538ad4:	8d 5e 14             	lea    0x14(%esi),%ebx
538ad7:	75 0e                	jne    0x538ae7
538ad9:	51                   	push   %ecx
538ada:	e8 d1 c2 fd ff       	call   0x514db0
538adf:	83 c4 04             	add    $0x4,%esp
538ae2:	89 45 f0             	mov    %eax,-0x10(%ebp)
538ae5:	8b c8                	mov    %eax,%ecx
538ae7:	8b 3b                	mov    (%ebx),%edi
538ae9:	85 ff                	test   %edi,%edi
538aeb:	74 3b                	je     0x538b28
538aed:	0f 1f 00             	nopl   (%eax)
538af0:	8b 47 0c             	mov    0xc(%edi),%eax
538af3:	8d 5f 08             	lea    0x8(%edi),%ebx
538af6:	85 c0                	test   %eax,%eax
538af8:	74 51                	je     0x538b4b
538afa:	8d 4d f4             	lea    -0xc(%ebp),%ecx
538afd:	51                   	push   %ecx
538afe:	8d 4d f8             	lea    -0x8(%ebp),%ecx
538b01:	51                   	push   %ecx
538b02:	50                   	push   %eax
538b03:	e8 28 c5 fd ff       	call   0x515030
538b08:	ff 75 f0             	push   -0x10(%ebp)
538b0b:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
538b12:	ff 75 f8             	push   -0x8(%ebp)
538b15:	e8 06 c2 fd ff       	call   0x514d20
538b1a:	8b 3b                	mov    (%ebx),%edi
538b1c:	83 c4 14             	add    $0x14,%esp
538b1f:	8b c8                	mov    %eax,%ecx
538b21:	89 4d f0             	mov    %ecx,-0x10(%ebp)
538b24:	85 ff                	test   %edi,%edi
538b26:	75 c8                	jne    0x538af0
538b28:	66 83 7e 18 00       	cmpw   $0x0,0x18(%esi)
538b2d:	75 34                	jne    0x538b63
538b2f:	6a 00                	push   $0x0
538b31:	68 f8 03 00 00       	push   $0x3f8
538b36:	ff 76 04             	push   0x4(%esi)
538b39:	e8 a2 88 fe ff       	call   0x5213e0
538b3e:	8b c8                	mov    %eax,%ecx
538b40:	83 c4 0c             	add    $0xc,%esp
538b43:	85 c9                	test   %ecx,%ecx
538b45:	75 07                	jne    0x538b4e
538b47:	89 03                	mov    %eax,(%ebx)
538b49:	eb 52                	jmp    0x538b9d
538b4b:	51                   	push   %ecx
538b4c:	eb 44                	jmp    0x538b92
538b4e:	8b 06                	mov    (%esi),%eax
538b50:	89 01                	mov    %eax,(%ecx)
538b52:	8d 41 08             	lea    0x8(%ecx),%eax
538b55:	89 46 10             	mov    %eax,0x10(%esi)
538b58:	b8 3f 00 00 00       	mov    $0x3f,%eax
538b5d:	89 0e                	mov    %ecx,(%esi)
538b5f:	66 89 46 18          	mov    %ax,0x18(%esi)
538b63:	8b 7e 10             	mov    0x10(%esi),%edi
538b66:	b8 ff ff 00 00       	mov    $0xffff,%eax
538b6b:	66 01 46 18          	add    %ax,0x18(%esi)
538b6f:	8d 47 10             	lea    0x10(%edi),%eax
538b72:	89 46 10             	mov    %eax,0x10(%esi)
538b75:	89 3b                	mov    %edi,(%ebx)
538b77:	85 ff                	test   %edi,%edi
538b79:	74 22                	je     0x538b9d
538b7b:	ff 75 f0             	push   -0x10(%ebp)
538b7e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
538b84:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
538b8b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
538b92:	e8 69 c3 fd ff       	call   0x514f00
538b97:	89 47 0c             	mov    %eax,0xc(%edi)
538b9a:	83 c4 04             	add    $0x4,%esp
538b9d:	66 83 4e 1a 01       	orw    $0x1,0x1a(%esi)
538ba2:	8b 45 0c             	mov    0xc(%ebp),%eax
538ba5:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
538bac:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
538bb3:	89 46 1c             	mov    %eax,0x1c(%esi)
538bb6:	8b 5e 14             	mov    0x14(%esi),%ebx
538bb9:	85 db                	test   %ebx,%ebx
538bbb:	74 3f                	je     0x538bfc
538bbd:	8b 7d 14             	mov    0x14(%ebp),%edi
538bc0:	8b 75 10             	mov    0x10(%ebp),%esi
538bc3:	8b 43 0c             	mov    0xc(%ebx),%eax
538bc6:	85 c0                	test   %eax,%eax