58c84f:	0f 84 af 00 00 00    	je     0x58c904
58c855:	56                   	push   %esi
58c856:	57                   	push   %edi
58c857:	57                   	push   %edi
58c858:	e8 73 b8 f4 ff       	call   0x4d80d0
58c85d:	83 c4 0c             	add    $0xc,%esp
58c860:	85 c0                	test   %eax,%eax
58c862:	0f 84 9c 00 00 00    	je     0x58c904
58c868:	53                   	push   %ebx
58c869:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58c86d:	57                   	push   %edi
58c86e:	53                   	push   %ebx
58c86f:	e8 0c 7e f2 ff       	call   0x4b4680
58c874:	83 c4 08             	add    $0x8,%esp
58c877:	85 c0                	test   %eax,%eax
58c879:	0f 84 84 00 00 00    	je     0x58c903
58c87f:	6a 01                	push   $0x1
58c881:	53                   	push   %ebx
58c882:	e8 59 6f f2 ff       	call   0x4b37e0
58c887:	83 c4 08             	add    $0x8,%esp
58c88a:	85 c0                	test   %eax,%eax
58c88c:	74 75                	je     0x58c903
58c88e:	66 90                	xchg   %ax,%ax
58c890:	be b2 59 6c 00       	mov    $0x6c59b2,%esi
58c895:	81 fe b0 69 6c 00    	cmp    $0x6c69b0,%esi
58c89b:	7d 5e                	jge    0x58c8fb
58c89d:	0f b7 06             	movzwl (%esi),%eax
58c8a0:	50                   	push   %eax
58c8a1:	53                   	push   %ebx
58c8a2:	e8 a9 70 f2 ff       	call   0x4b3950
58c8a7:	83 c4 08             	add    $0x8,%esp
58c8aa:	85 c0                	test   %eax,%eax
58c8ac:	74 16                	je     0x58c8c4
58c8ae:	0f b7 06             	movzwl (%esi),%eax
58c8b1:	50                   	push   %eax
58c8b2:	57                   	push   %edi
58c8b3:	e8 98 70 f2 ff       	call   0x4b3950
58c8b8:	83 c4 08             	add    $0x8,%esp
58c8bb:	85 c0                	test   %eax,%eax
58c8bd:	74 05                	je     0x58c8c4
58c8bf:	83 c6 02             	add    $0x2,%esi
58c8c2:	eb d1                	jmp    0x58c895
58c8c4:	ff 74 24 20          	push   0x20(%esp)
58c8c8:	53                   	push   %ebx
58c8c9:	53                   	push   %ebx
58c8ca:	e8 01 b8 f4 ff       	call   0x4d80d0
58c8cf:	83 c4 0c             	add    $0xc,%esp
58c8d2:	85 c0                	test   %eax,%eax
58c8d4:	74 2d                	je     0x58c903
58c8d6:	55                   	push   %ebp
58c8d7:	57                   	push   %edi
58c8d8:	57                   	push   %edi
58c8d9:	e8 f2 b7 f4 ff       	call   0x4d80d0
58c8de:	83 c4 0c             	add    $0xc,%esp
58c8e1:	85 c0                	test   %eax,%eax
58c8e3:	75 ab                	jne    0x58c890
58c8e5:	5b                   	pop    %ebx
58c8e6:	ff 74 24 24          	push   0x24(%esp)
58c8ea:	e8 61 b4 f4 ff       	call   0x4d7d50
58c8ef:	8b 44 24 10          	mov    0x10(%esp),%eax
58c8f3:	83 c4 04             	add    $0x4,%esp
58c8f6:	5f                   	pop    %edi
58c8f7:	5e                   	pop    %esi
58c8f8:	5d                   	pop    %ebp
58c8f9:	59                   	pop    %ecx
58c8fa:	c3                   	ret
58c8fb:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
58c902:	00
58c903:	5b                   	pop    %ebx
58c904:	ff 74 24 24          	push   0x24(%esp)
58c908:	e8 43 b4 f4 ff       	call   0x4d7d50
58c90d:	8b 44 24 10          	mov    0x10(%esp),%eax
58c911:	83 c4 04             	add    $0x4,%esp
58c914:	5f                   	pop    %edi
58c915:	5e                   	pop    %esi
58c916:	5d                   	pop    %ebp
58c917:	59                   	pop    %ecx
58c918:	c3                   	ret
58c919:	cc                   	int3
58c91a:	cc                   	int3
58c91b:	cc                   	int3
58c91c:	cc                   	int3
58c91d:	cc                   	int3
58c91e:	cc                   	int3
58c91f:	cc                   	int3
58c920:	55                   	push   %ebp
58c921:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58c925:	56                   	push   %esi
58c926:	ff 74 24 24          	push   0x24(%esp)
58c92a:	8b 74 24 10          	mov    0x10(%esp),%esi
58c92e:	55                   	push   %ebp
58c92f:	ff 74 24 18          	push   0x18(%esp)
58c933:	ff 74 24 24          	push   0x24(%esp)
58c937:	56                   	push   %esi
58c938:	56                   	push   %esi
58c939:	e8 d2 24 fe ff       	call   0x56ee10
58c93e:	83 c4 18             	add    $0x18,%esp
58c941:	85 c0                	test   %eax,%eax
58c943:	75 06                	jne    0x58c94b
58c945:	5e                   	pop    %esi
58c946:	83 c8 ff             	or     $0xffffffff,%eax
58c949:	5d                   	pop    %ebp
58c94a:	c3                   	ret
58c94b:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
58c94f:	75 12                	jne    0x58c963
58c951:	8b 06                	mov    (%esi),%eax
58c953:	83 38 01             	cmpl   $0x1,(%eax)
58c956:	75 0b                	jne    0x58c963
58c958:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
58c95c:	75 05                	jne    0x58c963
58c95e:	5e                   	pop    %esi
58c95f:	33 c0                	xor    %eax,%eax
58c961:	5d                   	pop    %ebp
58c962:	c3                   	ret
58c963:	53                   	push   %ebx
58c964:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58c968:	53                   	push   %ebx
58c969:	56                   	push   %esi
58c96a:	e8 51 64 f2 ff       	call   0x4b2dc0
58c96f:	83 c4 08             	add    $0x8,%esp
58c972:	85 c0                	test   %eax,%eax
58c974:	75 04                	jne    0x58c97a
58c976:	5b                   	pop    %ebx
58c977:	5e                   	pop    %esi
58c978:	5d                   	pop    %ebp
58c979:	c3                   	ret
58c97a:	57                   	push   %edi
58c97b:	8b 7c 24 24          	mov    0x24(%esp),%edi
58c97f:	83 ef 01             	sub    $0x1,%edi
58c982:	74 3a                	je     0x58c9be
58c984:	55                   	push   %ebp
58c985:	ff 74 24 1c          	push   0x1c(%esp)
58c989:	56                   	push   %esi
58c98a:	56                   	push   %esi
58c98b:	56                   	push   %esi
58c98c:	e8 4f 22 fe ff       	call   0x56ebe0
58c991:	83 c4 14             	add    $0x14,%esp
58c994:	85 c0                	test   %eax,%eax
58c996:	74 37                	je     0x58c9cf
58c998:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
58c99c:	75 0d                	jne    0x58c9ab
58c99e:	8b 06                	mov    (%esi),%eax
58c9a0:	83 38 01             	cmpl   $0x1,(%eax)
58c9a3:	75 06                	jne    0x58c9ab
58c9a5:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
58c9a9:	74 13                	je     0x58c9be
58c9ab:	53                   	push   %ebx
58c9ac:	56                   	push   %esi
58c9ad:	e8 0e 64 f2 ff       	call   0x4b2dc0
58c9b2:	83 c4 08             	add    $0x8,%esp
58c9b5:	85 c0                	test   %eax,%eax
58c9b7:	74 0f                	je     0x58c9c8
58c9b9:	83 ef 01             	sub    $0x1,%edi
58c9bc:	75 c6                	jne    0x58c984
58c9be:	5f                   	pop    %edi
58c9bf:	5b                   	pop    %ebx
58c9c0:	5e                   	pop    %esi
58c9c1:	b8 01 00 00 00       	mov    $0x1,%eax
58c9c6:	5d                   	pop    %ebp
58c9c7:	c3                   	ret
58c9c8:	5f                   	pop    %edi
58c9c9:	5b                   	pop    %ebx
58c9ca:	5e                   	pop    %esi
58c9cb:	33 c0                	xor    %eax,%eax
58c9cd:	5d                   	pop    %ebp
58c9ce:	c3                   	ret
58c9cf:	5f                   	pop    %edi
58c9d0:	5b                   	pop    %ebx
58c9d1:	5e                   	pop    %esi
58c9d2:	83 c8 ff             	or     $0xffffffff,%eax
58c9d5:	5d                   	pop    %ebp
58c9d6:	c3                   	ret
58c9d7:	cc                   	int3
58c9d8:	cc                   	int3
58c9d9:	cc                   	int3
58c9da:	cc                   	int3
58c9db:	cc                   	int3
58c9dc:	cc                   	int3
58c9dd:	cc                   	int3
58c9de:	cc                   	int3
58c9df:	cc                   	int3
58c9e0:	56                   	push   %esi
58c9e1:	8b 74 24 08          	mov    0x8(%esp),%esi
58c9e5:	85 f6                	test   %esi,%esi
58c9e7:	75 1c                	jne    0x58ca05
58c9e9:	68 3b 02 00 00       	push   $0x23b
58c9ee:	68 b0 69 6c 00       	push   $0x6c69b0
58c9f3:	6a 73                	push   $0x73
58c9f5:	6a 77                	push   $0x77
58c9f7:	6a 0e                	push   $0xe
58c9f9:	e8 a2 4a f1 ff       	call   0x4a14a0
58c9fe:	83 c4 14             	add    $0x14,%esp
58ca01:	33 c0                	xor    %eax,%eax
58ca03:	5e                   	pop    %esi
58ca04:	c3                   	ret
58ca05:	55                   	push   %ebp
58ca06:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58ca0a:	57                   	push   %edi
58ca0b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58ca0f:	53                   	push   %ebx
58ca10:	85 ed                	test   %ebp,%ebp
58ca12:	74 24                	je     0x58ca38
58ca14:	8a 06                	mov    (%esi),%al
58ca16:	84 c0                	test   %al,%al
58ca18:	74 1e                	je     0x58ca38
58ca1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
58ca20:	0f b6 c0             	movzbl %al,%eax
58ca23:	50                   	push   %eax
58ca24:	e8 ba a4 06 00       	call   0x5f6ee3
58ca29:	83 c4 04             	add    $0x4,%esp
58ca2c:	85 c0                	test   %eax,%eax
58ca2e:	74 08                	je     0x58ca38
58ca30:	8a 46 01             	mov    0x1(%esi),%al
58ca33:	46                   	inc    %esi
58ca34:	84 c0                	test   %al,%al
58ca36:	75 e8                	jne    0x58ca20
58ca38:	ff 74 24 18          	push   0x18(%esp)
58ca3c:	56                   	push   %esi
58ca3d:	e8 1e 76 05 00       	call   0x5e4060
58ca42:	8b d8                	mov    %eax,%ebx
58ca44:	83 c4 08             	add    $0x8,%esp
58ca47:	3b de                	cmp    %esi,%ebx
58ca49:	74 58                	je     0x58caa3
58ca4b:	80 3e 00             	cmpb   $0x0,(%esi)
58ca4e:	74 53                	je     0x58caa3
58ca50:	85 db                	test   %ebx,%ebx
58ca52:	74 05                	je     0x58ca59
58ca54:	8d 7b ff             	lea    -0x1(%ebx),%edi
58ca57:	eb 15                	jmp    0x58ca6e
58ca59:	8b ce                	mov    %esi,%ecx
58ca5b:	8d 51 01             	lea    0x1(%ecx),%edx
58ca5e:	66 90                	xchg   %ax,%ax
58ca60:	8a 01                	mov    (%ecx),%al
58ca62:	41                   	inc    %ecx
58ca63:	84 c0                	test   %al,%al
58ca65:	75 f9                	jne    0x58ca60
58ca67:	2b ca                	sub    %edx,%ecx
58ca69:	8d 7e ff             	lea    -0x1(%esi),%edi
58ca6c:	03 f9                	add    %ecx,%edi
58ca6e:	85 ed                	test   %ebp,%ebp
58ca70:	74 22                	je     0x58ca94
58ca72:	0f b6 07             	movzbl (%edi),%eax
58ca75:	50                   	push   %eax
58ca76:	e8 68 a4 06 00       	call   0x5f6ee3
58ca7b:	83 c4 04             	add    $0x4,%esp
58ca7e:	85 c0                	test   %eax,%eax
58ca80:	74 12                	je     0x58ca94
58ca82:	0f b6 47 ff          	movzbl -0x1(%edi),%eax
58ca86:	4f                   	dec    %edi
58ca87:	50                   	push   %eax
58ca88:	e8 56 a4 06 00       	call   0x5f6ee3
58ca8d:	83 c4 04             	add    $0x4,%esp
58ca90:	85 c0                	test   %eax,%eax
58ca92:	75 ee                	jne    0x58ca82
58ca94:	ff 74 24 24          	push   0x24(%esp)
58ca98:	2b fe                	sub    %esi,%edi
58ca9a:	47                   	inc    %edi
58ca9b:	57                   	push   %edi
58ca9c:	8b 7c 24 28          	mov    0x28(%esp),%edi
58caa0:	56                   	push   %esi
58caa1:	eb 08                	jmp    0x58caab
58caa3:	ff 74 24 24          	push   0x24(%esp)
58caa7:	6a 00                	push   $0x0
58caa9:	6a 00                	push   $0x0
58caab:	ff d7                	call   *%edi
58caad:	83 c4 0c             	add    $0xc,%esp
58cab0:	85 c0                	test   %eax,%eax
58cab2:	7e 11                	jle    0x58cac5
58cab4:	85 db                	test   %ebx,%ebx
58cab6:	74 08                	je     0x58cac0
58cab8:	8d 73 01             	lea    0x1(%ebx),%esi
58cabb:	e9 50 ff ff ff       	jmp    0x58ca10
58cac0:	b8 01 00 00 00       	mov    $0x1,%eax
58cac5:	5b                   	pop    %ebx
58cac6:	5f                   	pop    %edi
58cac7:	5d                   	pop    %ebp
58cac8:	5e                   	pop    %esi
58cac9:	c3                   	ret
58caca:	cc                   	int3
58cacb:	cc                   	int3
58cacc:	cc                   	int3
58cacd:	cc                   	int3
58cace:	cc                   	int3
58cacf:	cc                   	int3
58cad0:	8b 44 24 04          	mov    0x4(%esp),%eax
58cad4:	33 c9                	xor    %ecx,%ecx
58cad6:	53                   	push   %ebx
58cad7:	33 db                	xor    %ebx,%ebx
58cad9:	85 c0                	test   %eax,%eax
58cadb:	75 02                	jne    0x58cadf
58cadd:	5b                   	pop    %ebx
58cade:	c3                   	ret
58cadf:	8b 50 04             	mov    0x4(%eax),%edx
58cae2:	81 fa 0a 01 00 00    	cmp    $0x10a,%edx
58cae8:	75 13                	jne    0x58cafd
58caea:	bb 01 00 00 00       	mov    $0x1,%ebx
58caef:	56                   	push   %esi
58caf0:	8b 30                	mov    (%eax),%esi
58caf2:	83 fe 04             	cmp    $0x4,%esi
58caf5:	7e 10                	jle    0x58cb07
58caf7:	5e                   	pop    %esi
58caf8:	83 c8 ff             	or     $0xffffffff,%eax
58cafb:	5b                   	pop    %ebx
58cafc:	c3                   	ret
58cafd:	83 fa 0a             	cmp    $0xa,%edx
58cb00:	74 ed                	je     0x58caef
58cb02:	83 c8 ff             	or     $0xffffffff,%eax
58cb05:	5b                   	pop    %ebx
58cb06:	c3                   	ret
58cb07:	57                   	push   %edi
58cb08:	8b 78 08             	mov    0x8(%eax),%edi
58cb0b:	85 ff                	test   %edi,%edi
58cb0d:	75 06                	jne    0x58cb15
58cb0f:	5f                   	pop    %edi
58cb10:	5e                   	pop    %esi
58cb11:	33 c0                	xor    %eax,%eax
58cb13:	5b                   	pop    %ebx
58cb14:	c3                   	ret
58cb15:	33 d2                	xor    %edx,%edx
58cb17:	85 f6                	test   %esi,%esi
58cb19:	7e 13                	jle    0x58cb2e
58cb1b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
58cb20:	0f b6 04 17          	movzbl (%edi,%edx,1),%eax
58cb24:	42                   	inc    %edx
58cb25:	c1 e1 08             	shl    $0x8,%ecx
58cb28:	0b c8                	or     %eax,%ecx
58cb2a:	3b d6                	cmp    %esi,%edx
58cb2c:	7c f2                	jl     0x58cb20
58cb2e:	85 db                	test   %ebx,%ebx
58cb30:	74 02                	je     0x58cb34
58cb32:	f7 d9                	neg    %ecx
58cb34:	5f                   	pop    %edi
58cb35:	5e                   	pop    %esi
58cb36:	8b c1                	mov    %ecx,%eax
58cb38:	5b                   	pop    %ebx
58cb39:	c3                   	ret
58cb3a:	cc                   	int3
58cb3b:	cc                   	int3
58cb3c:	cc                   	int3
58cb3d:	cc                   	int3
58cb3e:	cc                   	int3
58cb3f:	cc                   	int3
58cb40:	56                   	push   %esi
58cb41:	57                   	push   %edi
58cb42:	8b 7c 24 0c          	mov    0xc(%esp),%edi
58cb46:	ff 74 24 10          	push   0x10(%esp)
58cb4a:	ff 37                	push   (%edi)
58cb4c:	ff 77 08             	push   0x8(%edi)
58cb4f:	e8 bc 60 f2 ff       	call   0x4b2c10
58cb54:	8b f0                	mov    %eax,%esi