59882f:	6a 22                	push   $0x22
598831:	e8 6a 8c f0 ff       	call   0x4a14a0
598836:	83 c4 14             	add    $0x14,%esp
598839:	33 c0                	xor    %eax,%eax
59883b:	5f                   	pop    %edi
59883c:	5e                   	pop    %esi
59883d:	5d                   	pop    %ebp
59883e:	5b                   	pop    %ebx
59883f:	83 c4 14             	add    $0x14,%esp
598842:	c3                   	ret
598843:	cc                   	int3
598844:	cc                   	int3
598845:	cc                   	int3
598846:	cc                   	int3
598847:	cc                   	int3
598848:	cc                   	int3
598849:	cc                   	int3
59884a:	cc                   	int3
59884b:	cc                   	int3
59884c:	cc                   	int3
59884d:	cc                   	int3
59884e:	cc                   	int3
59884f:	cc                   	int3
598850:	ff 74 24 0c          	push   0xc(%esp)
598854:	ff 74 24 08          	push   0x8(%esp)
598858:	e8 e3 05 fe ff       	call   0x578e40
59885d:	83 c4 08             	add    $0x8,%esp
598860:	c3                   	ret
598861:	cc                   	int3
598862:	cc                   	int3
598863:	cc                   	int3
598864:	cc                   	int3
598865:	cc                   	int3
598866:	cc                   	int3
598867:	cc                   	int3
598868:	cc                   	int3
598869:	cc                   	int3
59886a:	cc                   	int3
59886b:	cc                   	int3
59886c:	cc                   	int3
59886d:	cc                   	int3
59886e:	cc                   	int3
59886f:	cc                   	int3
598870:	ff 74 24 08          	push   0x8(%esp)
598874:	e8 57 42 ff ff       	call   0x58cad0
598879:	8b 54 24 08          	mov    0x8(%esp),%edx
59887d:	83 c4 04             	add    $0x4,%esp
598880:	8b 4a 34             	mov    0x34(%edx),%ecx
598883:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
598887:	74 14                	je     0x59889d
598889:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
598890:	3b 01                	cmp    (%ecx),%eax
598892:	74 12                	je     0x5988a6
598894:	83 c1 0c             	add    $0xc,%ecx
598897:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
59889b:	75 f3                	jne    0x598890
59889d:	89 54 24 04          	mov    %edx,0x4(%esp)
5988a1:	e9 7a 01 fe ff       	jmp    0x578a20
5988a6:	ff 71 04             	push   0x4(%ecx)
5988a9:	e8 02 5f f1 ff       	call   0x4ae7b0
5988ae:	83 c4 04             	add    $0x4,%esp
5988b1:	c3                   	ret
5988b2:	cc                   	int3
5988b3:	cc                   	int3
5988b4:	cc                   	int3
5988b5:	cc                   	int3
5988b6:	cc                   	int3
5988b7:	cc                   	int3
5988b8:	cc                   	int3
5988b9:	cc                   	int3
5988ba:	cc                   	int3
5988bb:	cc                   	int3
5988bc:	cc                   	int3
5988bd:	cc                   	int3
5988be:	cc                   	int3
5988bf:	cc                   	int3
5988c0:	53                   	push   %ebx
5988c1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5988c5:	56                   	push   %esi
5988c6:	8b 74 24 14          	mov    0x14(%esp),%esi
5988ca:	57                   	push   %edi
5988cb:	8b 7c 24 14          	mov    0x14(%esp),%edi
5988cf:	83 3f 00             	cmpl   $0x0,(%edi)
5988d2:	74 47                	je     0x59891b
5988d4:	68 ad 57 6e 00       	push   $0x6e57ad
5988d9:	53                   	push   %ebx
5988da:	68 98 97 6c 00       	push   $0x6c9798
5988df:	56                   	push   %esi
5988e0:	e8 eb 65 f1 ff       	call   0x4aeed0
5988e5:	83 c4 10             	add    $0x10,%esp
5988e8:	85 c0                	test   %eax,%eax
5988ea:	0f 8e af 00 00 00    	jle    0x59899f
5988f0:	ff 37                	push   (%edi)
5988f2:	56                   	push   %esi
5988f3:	e8 08 f5 fe ff       	call   0x587e00
5988f8:	83 c4 08             	add    $0x8,%esp
5988fb:	85 c0                	test   %eax,%eax
5988fd:	0f 84 9c 00 00 00    	je     0x59899f
598903:	6a 01                	push   $0x1
598905:	68 b8 82 6b 00       	push   $0x6b82b8
59890a:	56                   	push   %esi
59890b:	e8 40 a2 f1 ff       	call   0x4b2b50
598910:	83 c4 0c             	add    $0xc,%esp
598913:	85 c0                	test   %eax,%eax
598915:	0f 8e 84 00 00 00    	jle    0x59899f
59891b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
59891f:	74 3c                	je     0x59895d
598921:	68 ad 57 6e 00       	push   $0x6e57ad
598926:	53                   	push   %ebx
598927:	68 a4 97 6c 00       	push   $0x6c97a4
59892c:	56                   	push   %esi
59892d:	e8 9e 65 f1 ff       	call   0x4aeed0
598932:	83 c4 10             	add    $0x10,%esp
598935:	85 c0                	test   %eax,%eax
598937:	7e 66                	jle    0x59899f
598939:	ff 77 04             	push   0x4(%edi)
59893c:	56                   	push   %esi
59893d:	e8 1e ec fe ff       	call   0x587560
598942:	83 c4 08             	add    $0x8,%esp
598945:	85 c0                	test   %eax,%eax
598947:	7e 56                	jle    0x59899f
598949:	6a 01                	push   $0x1
59894b:	68 b8 82 6b 00       	push   $0x6b82b8
598950:	56                   	push   %esi
598951:	e8 fa a1 f1 ff       	call   0x4b2b50
598956:	83 c4 0c             	add    $0xc,%esp
598959:	85 c0                	test   %eax,%eax
59895b:	7e 42                	jle    0x59899f
59895d:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
598961:	74 42                	je     0x5989a5
598963:	68 ad 57 6e 00       	push   $0x6e57ad
598968:	53                   	push   %ebx
598969:	68 b0 97 6c 00       	push   $0x6c97b0
59896e:	56                   	push   %esi
59896f:	e8 5c 65 f1 ff       	call   0x4aeed0
598974:	83 c4 10             	add    $0x10,%esp
598977:	85 c0                	test   %eax,%eax
598979:	7e 24                	jle    0x59899f
59897b:	ff 77 08             	push   0x8(%edi)
59897e:	56                   	push   %esi
59897f:	e8 ac f2 fe ff       	call   0x587c30
598984:	83 c4 08             	add    $0x8,%esp
598987:	85 c0                	test   %eax,%eax
598989:	74 14                	je     0x59899f
59898b:	6a 01                	push   $0x1
59898d:	68 b8 82 6b 00       	push   $0x6b82b8
598992:	56                   	push   %esi
598993:	e8 b8 a1 f1 ff       	call   0x4b2b50
598998:	83 c4 0c             	add    $0xc,%esp
59899b:	85 c0                	test   %eax,%eax
59899d:	7f 06                	jg     0x5989a5
59899f:	5f                   	pop    %edi
5989a0:	5e                   	pop    %esi
5989a1:	33 c0                	xor    %eax,%eax
5989a3:	5b                   	pop    %ebx
5989a4:	c3                   	ret
5989a5:	5f                   	pop    %edi
5989a6:	5e                   	pop    %esi
5989a7:	b8 01 00 00 00       	mov    $0x1,%eax
5989ac:	5b                   	pop    %ebx
5989ad:	c3                   	ret
5989ae:	cc                   	int3
5989af:	cc                   	int3
5989b0:	68 ad 57 6e 00       	push   $0x6e57ad
5989b5:	ff 74 24 14          	push   0x14(%esp)
5989b9:	68 9c 80 6c 00       	push   $0x6c809c
5989be:	ff 74 24 18          	push   0x18(%esp)
5989c2:	e8 09 65 f1 ff       	call   0x4aeed0
5989c7:	83 c4 10             	add    $0x10,%esp
5989ca:	85 c0                	test   %eax,%eax
5989cc:	7f 03                	jg     0x5989d1
5989ce:	33 c0                	xor    %eax,%eax
5989d0:	c3                   	ret
5989d1:	ff 74 24 08          	push   0x8(%esp)
5989d5:	ff 74 24 10          	push   0x10(%esp)
5989d9:	e8 52 f2 fe ff       	call   0x587c30
5989de:	83 c4 08             	add    $0x8,%esp
5989e1:	f7 d8                	neg    %eax
5989e3:	1b c0                	sbb    %eax,%eax
5989e5:	f7 d8                	neg    %eax
5989e7:	c3                   	ret
5989e8:	cc                   	int3
5989e9:	cc                   	int3
5989ea:	cc                   	int3
5989eb:	cc                   	int3
5989ec:	cc                   	int3
5989ed:	cc                   	int3
5989ee:	cc                   	int3
5989ef:	cc                   	int3
5989f0:	68 ad 57 6e 00       	push   $0x6e57ad
5989f5:	ff 74 24 14          	push   0x14(%esp)
5989f9:	68 9c 80 6c 00       	push   $0x6c809c
5989fe:	ff 74 24 18          	push   0x18(%esp)
598a02:	e8 c9 64 f1 ff       	call   0x4aeed0
598a07:	83 c4 10             	add    $0x10,%esp
598a0a:	85 c0                	test   %eax,%eax
598a0c:	7f 03                	jg     0x598a11
598a0e:	33 c0                	xor    %eax,%eax
598a10:	c3                   	ret
598a11:	ff 74 24 08          	push   0x8(%esp)
598a15:	ff 74 24 10          	push   0x10(%esp)
598a19:	e8 72 ea f0 ff       	call   0x4a7490
598a1e:	33 c9                	xor    %ecx,%ecx
598a20:	83 c4 08             	add    $0x8,%esp
598a23:	85 c0                	test   %eax,%eax
598a25:	0f 9f c1             	setg   %cl
598a28:	8b c1                	mov    %ecx,%eax
598a2a:	c3                   	ret
598a2b:	cc                   	int3
598a2c:	cc                   	int3
598a2d:	cc                   	int3
598a2e:	cc                   	int3
598a2f:	cc                   	int3
598a30:	e9 5b b2 f1 ff       	jmp    0x4b3c90
598a35:	cc                   	int3
598a36:	cc                   	int3
598a37:	cc                   	int3
598a38:	cc                   	int3
598a39:	cc                   	int3
598a3a:	cc                   	int3
598a3b:	cc                   	int3
598a3c:	cc                   	int3
598a3d:	cc                   	int3
598a3e:	cc                   	int3
598a3f:	cc                   	int3
598a40:	57                   	push   %edi
598a41:	8b 7c 24 0c          	mov    0xc(%esp),%edi
598a45:	85 ff                	test   %edi,%edi
598a47:	74 1d                	je     0x598a66
598a49:	56                   	push   %esi
598a4a:	8b 74 24 0c          	mov    0xc(%esp),%esi
598a4e:	ff 36                	push   (%esi)
598a50:	ff 76 08             	push   0x8(%esi)
598a53:	ff 37                	push   (%edi)
598a55:	e8 a6 a4 04 00       	call   0x5e2f00
598a5a:	8b 0e                	mov    (%esi),%ecx
598a5c:	83 c4 0c             	add    $0xc,%esp
598a5f:	01 0f                	add    %ecx,(%edi)
598a61:	8b 06                	mov    (%esi),%eax
598a63:	5e                   	pop    %esi
598a64:	5f                   	pop    %edi
598a65:	c3                   	ret
598a66:	8b 44 24 08          	mov    0x8(%esp),%eax
598a6a:	5f                   	pop    %edi
598a6b:	8b 00                	mov    (%eax),%eax
598a6d:	c3                   	ret
598a6e:	cc                   	int3
598a6f:	cc                   	int3
598a70:	53                   	push   %ebx
598a71:	55                   	push   %ebp
598a72:	56                   	push   %esi
598a73:	57                   	push   %edi
598a74:	8b 7c 24 14          	mov    0x14(%esp),%edi
598a78:	85 ff                	test   %edi,%edi
598a7a:	74 06                	je     0x598a82
598a7c:	8b 37                	mov    (%edi),%esi
598a7e:	85 f6                	test   %esi,%esi
598a80:	75 07                	jne    0x598a89
598a82:	e8 09 b2 f1 ff       	call   0x4b3c90
598a87:	8b f0                	mov    %eax,%esi
598a89:	8b 5c 24 18          	mov    0x18(%esp),%ebx
598a8d:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
598a91:	55                   	push   %ebp
598a92:	ff 33                	push   (%ebx)
598a94:	56                   	push   %esi
598a95:	e8 06 45 f4 ff       	call   0x4dcfa0
598a9a:	83 c4 0c             	add    $0xc,%esp
598a9d:	85 c0                	test   %eax,%eax
598a9f:	75 34                	jne    0x598ad5
598aa1:	85 f6                	test   %esi,%esi
598aa3:	74 11                	je     0x598ab6
598aa5:	85 ff                	test   %edi,%edi
598aa7:	74 04                	je     0x598aad
598aa9:	39 37                	cmp    %esi,(%edi)
598aab:	74 09                	je     0x598ab6
598aad:	56                   	push   %esi
598aae:	e8 cd 8e f1 ff       	call   0x4b1980
598ab3:	83 c4 04             	add    $0x4,%esp
598ab6:	68 fd 00 00 00       	push   $0xfd
598abb:	68 c0 97 6c 00       	push   $0x6c97c0
598ac0:	6a 41                	push   $0x41
598ac2:	6a 66                	push   $0x66
598ac4:	6a 27                	push   $0x27
598ac6:	e8 d5 89 f0 ff       	call   0x4a14a0
598acb:	83 c4 14             	add    $0x14,%esp
598ace:	33 c0                	xor    %eax,%eax
598ad0:	5f                   	pop    %edi
598ad1:	5e                   	pop    %esi
598ad2:	5d                   	pop    %ebp
598ad3:	5b                   	pop    %ebx
598ad4:	c3                   	ret
598ad5:	01 2b                	add    %ebp,(%ebx)
598ad7:	85 ff                	test   %edi,%edi
598ad9:	74 02                	je     0x598add
598adb:	89 37                	mov    %esi,(%edi)
598add:	5f                   	pop    %edi
598ade:	8b c6                	mov    %esi,%eax
598ae0:	5e                   	pop    %esi
598ae1:	5d                   	pop    %ebp
598ae2:	5b                   	pop    %ebx
598ae3:	c3                   	ret
598ae4:	cc                   	int3
598ae5:	cc                   	int3
598ae6:	cc                   	int3
598ae7:	cc                   	int3
598ae8:	cc                   	int3
598ae9:	cc                   	int3
598aea:	cc                   	int3
598aeb:	cc                   	int3
598aec:	cc                   	int3
598aed:	cc                   	int3
598aee:	cc                   	int3
598aef:	cc                   	int3
598af0:	e9 8b 8e f1 ff       	jmp    0x4b1980
598af5:	cc                   	int3
598af6:	cc                   	int3
598af7:	cc                   	int3
598af8:	cc                   	int3
598af9:	cc                   	int3
598afa:	cc                   	int3
598afb:	cc                   	int3
598afc:	cc                   	int3
598afd:	cc                   	int3
598afe:	cc                   	int3
598aff:	cc                   	int3
598b00:	68 ad 57 6e 00       	push   $0x6e57ad
598b05:	ff 74 24 14          	push   0x14(%esp)
598b09:	68 9c 80 6c 00       	push   $0x6c809c
598b0e:	ff 74 24 18          	push   0x18(%esp)
598b12:	e8 b9 63 f1 ff       	call   0x4aeed0
598b17:	83 c4 10             	add    $0x10,%esp
598b1a:	85 c0                	test   %eax,%eax
598b1c:	7f 03                	jg     0x598b21
598b1e:	33 c0                	xor    %eax,%eax
598b20:	c3                   	ret
598b21:	6a 04                	push   $0x4
598b23:	ff 74 24 0c          	push   0xc(%esp)
598b27:	ff 74 24 14          	push   0x14(%esp)
598b2b:	e8 90 da 00 00       	call   0x5a65c0
598b30:	33 c9                	xor    %ecx,%ecx
598b32:	83 c4 0c             	add    $0xc,%esp
598b35:	85 c0                	test   %eax,%eax
598b37:	0f 9f c1             	setg   %cl
598b3a:	8b c1                	mov    %ecx,%eax
598b3c:	c3                   	ret
598b3d:	cc                   	int3
598b3e:	cc                   	int3
598b3f:	cc                   	int3
598b40:	e9 eb b0 f1 ff       	jmp    0x4b3c30
598b45:	cc                   	int3